一. 不多说直接看代码就明白了
import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer,String
from sqlalchemy.orm import sessionmaker
#创建连接,root是用户名,123456是密码,localhost是IP地址,test是数据库名。
engine = create_engine("mysql+pymysql://root:123456@localhost/test",encoding = 'utf-8',echo=True)
#生成orm基类
base = declarative_base()
class test_student(base):
__tablename__ = 'test_student'
id = Column(Integer, primary_key=True)
name = Column(String(32))
age = Column(Integer)
def __repr__(self):
return "<test_student(id='%s',name='%s',age='%s')>"%(self.id,self.name,self.age)
# 创建与数据库的会话
Session_class = sessionmaker(bind=engine)
# 生成session实例
session = Session_class()
#插入你要创建的数据对象,每执行一次都会新增一次数据
student = test_student(name = "tyj",age=20)
#要把创建的数据对象添加到这个session里面
session.add(student)
#提交,使前面修改的数据生效
session.commit()
#修改操作
target = session.query(test_student).filter(test_student.name == 'tyj').first()
target.age = 21
session.commit()
#查询操作
result = session.query(test_student).filter(test_student.name=='tyj').first()
print(result.id,result.name,result.age)
#查询所有
print(session.query(test_student).all())
#多条件查询
stu = session.query(test_student).filter(test_student.id>0).filter(test_student.id<=3).all() #注意:filter()中的关键字不能是表达式user.id=0
print(stu)
#统计和分组
objs = session.query(test_student).filter(test_student.name.like('t%')).count() #统计
print(objs)
#删除操作
# target = session.query(test_student).filter(test_student.name == "tyj")
# session.delete(target)
session.query(test_student).filter(test_student.name == "tyj").delete()
session.commit()
转载:https://blog.csdn.net/qq_36499794/article/details/102575307
查看评论