from sqlalchemy import create_engine,Column,Integer,String from sqlalchemy.ext.declarative import declarative_base #数据库的变量 host='localhost' port=3306 data_base='flask_db' user='root' pwd='root' db=f'mysql+pymysql://{user}:{pwd}@{host}:{port}/{data_base}' engine=create_engine(db) #创建引擎 base=declarative_base(engine) ##创建一个基类,传递引擎 class Person(base): #创建一个类,继承基类 __tablename__='tuser' #创建的表名id等 id=Column(Integer,primary_key=True,autoincrement=True) name=Column(String(32)) age=Column(Integer) country=Column(String(32)) # base.metadata.create_all() from sqlalchemy.orm import sessionmaker #导入创建session库 #创建session对象来操作数据 Session=sessionmaker(engine) #创建生成一条数据 def create_data_one(): with Session() as session: #打开文件上下文操作 #实例化 Person类 数据 赋给p1 p1=Person(name='百战',age=6,country='北京') p2=Person(name='貂蝉',age=6,country='北京') session.add(p2) #添加p1中的数据 session.commit() #提交 #创建生成多条数据 def create_data_all(): with Session() as session: #打开文件上下文操作 #实例化 Person类 数据 赋给p1 p2=Person(name='吕布',age=18,country='群雄') p3=Person(name='貂蝉',age=19,country='魏国') #添加多条数据,以列表的形式进行添加 session.add_all([p2,p3]) #添加p2,p3中的数据 session.commit() #提交 #创建查询全部数据方法 def query_all(): with Session() as session: #查询哪个类,这里输入Person类 all拿出所有数据 person_all=session.query(Person).all() #列表进行遍历,并得到内容信息 for p in person_all: print(p.name,p.id,p.country,p.age) #创建查询第一条数据方法 def query_one(): with Session() as session: #查询哪个类,这里输入Person类 all拿出所有数据 p_one=session.query(Person).first() #获取第一条数据的名字 print(p_one.name) #创建通过过滤筛选查询方法 def filter_query(): with Session() as session: # session.query(Person) 查询哪个类的表 #通过哪一个参数进行过滤 # filter=session.query(Person).filter_by(name='貂蝉').first() #通过类中的name属性进行判断,如果==貂蝉那么则获取 filter=session.query(Person).filter(Person.age==18).first() print(filter.country) #创建修改数据方法 def update(): with Session() as session: # 获取Person中吕布的信息 p1=session.query(Person).filter(Person.name=='吕布').first() p1.age=20 #对吕布的age信息进行修改 #提交事务 session.commit() #删除数据方法 def delete(): with Session() as session: #t通过过滤条件删除一条数据 每次修改删除添加都要进行提交 p1=session.query(Person).filter(Person.country=='北京').first() session.delete(p1) session.commit() #删除全部数据方法 def delete_all(): with Session() as session: #获取Person类中的全部数据,p1对象是一个列表 p1=session.query(Person).all() print(p1) #对p1对象进行遍历,进行删除提交 删除提交操作 for i in p1: session.delete(p1) session.commit() if __name__ == '__main__': # create_data_one() #创建一条数据 # create_data_all() #创建多条数据 # query_all() #查询全部内容 # query_one() #查询一条内容 # filter_query() #筛选查询内容 # update() #修改内容 # delete() #删除数据 delete_all()
关于python与mysql连接中的CRUD:增删改查
最新推荐文章于 2024-07-27 17:34:16 发布