orm: object , relative , mapping :对象关系映射
类->表格 一个类对应一个表格
对象–>记录
属性–>字段
接下来是一个简单的通过pycharm 来实现数据库的增删改查:
步骤:
(1)创建引擎
(2)创建基类
(3)创建 类
(4)创建表格
#所需要的模块
import pymysql
from sqlalchemy import create_engine
from sqlalchemy import Column,String,Integer
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
#创建一个引擎
eng=create_engine("mysql+pymysql://root:123@localhost/offcn?charset=utf8") #固定格式
print(eng)
#创建一个基类
Base=declarative_base()
创建一个teacher类, 也就是一个teacher表
class Teacher(Base):
__tablename__='teacher' #表的名字
#字段
id=Column(Integer,primary_key=True,autoincrement=True)
name=Column(String(32),nullable=False)
age=Column(Integer,nullable=False)
#创建表格
Base.metadata.create_all(eng)
#session 用来对数据库进行 增删改查操作
Session=sessionmaker(bind=eng)
session=Session()
#charu插入
teacher=Teacher()
teacher.name='司昭'
teacher.age=32
teacher2=Teacher()
teacher2.name='汉武帝'
teacher2.age=32
teacher3=Teacher()
teacher3.name='秦始皇'
teacher3.age=23
# session.add(teacher)
# session.add_all([teacher3,teacher,teacher2])
#查询
ret1=session.query(Teacher).first() #查询一条
ret=session.query(Teacher).get(ident=6) #查询多条
ret2=session.query(Teacher).filter(Teacher.id>2)
ret3=session.query(Teacher).filter_by(id=6)
# print(ret)
# for i in ret2:
# print(i.name,i.age)
#
# for i in ret3:
# print(i )
# shanhcu删除 单条
rett = session.query(Teacher).first()
print(ret)
# session.delete(rett)
# 多个删除
# session.query(Teacher).filter(Teacher.id>4).delete()
#修改
# 单个
# te=session.query(Teacher).first()
# te.name='我是你爸爸'
# te.age=101
# 多个
session.query(Teacher).filter(Teacher.id>=2).update({'name':'齐天大圣','age':900})
#相当于提交事务
session.commit()
#关闭 session
session.close()