Flask之ORM(对象关系映射)增删改查

import sqlalchemy
from sqlalchemy.ext.declarative import declarative_base

#实例化数据 --->> django中settings中的配置

db = sqlalchemy.create_engine('sqlite:////flask\demo01/test01.db')

创建表类的基类 ------>>django中的model.Model
base = declarative_base()

#模型类

class User(base):
	__tablename__ = 'user' #表名
	id = sqlalchemy.Column(sqlalchemy.Integer, primary_key = True)
	name = sqlalchemy.Column(sqlalchemy.String(32)) #字符串
	age = sqlalchemy.Column(sqlalchemy.Integer()) #整型
	subject = sqlalchemy.Column(sqlalchemy.String(32)) #学科

#增加
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=db) #绑定 db,
session = Session()

#创建User对象

user = User(
	 		name = '老刘',
	 		age = 18,
	 		subject = 'python'
	)


session.add(user)
session.commit()#提交

#增加多个对象
session.add_all([
	User(name = 'yingli', age=28, subject= 'python'),
	User(name = 'jiangchuan' , age = 18 , subject = 'java'),
	User(name = 'xww', age = 48 , subject = 'python')	
])

#查询
all_user = session.query(User).all() #查询所有
print(all_user)
for user in all_user:
	print(user.name, user.subject, user.age)

all_user = session.query(User).filter_by(age = 18)
for user in all_user:
	print(user.name, '----->',user.subject)

#删除
	user_lst = session.query(User).filter_by(age= 18)
	for user in user_lst:
		session.delete(user)
		
#修改
user = session.query(User).get(ident = 2)
user.age = 18

session.commit()


if __name__ == '__main__':
#同步数据库
base.metadata.create_all(db)

猜你喜欢

转载自blog.csdn.net/weixin_44183162/article/details/88320687