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 engine = create_engine(‘sqlite:///Plan.db‘, encoding=‘utf-8‘) Base = declarative_base() # 生成orm基类 class User(Base): __tablename__ = ‘user‘ # 表名 id = Column(Integer, primary_key=True) name = Column(String(32)) password = Column(String(64)) Base.metadata.create_all(engine) # 创建表结构 Session_class = sessionmaker(bind=engine) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例 Session = Session_class() # 生成session实例 # 基础结束 # 插入开始 user_obj = User(name="alex", password="alex3714") # 生成你要创建的数据对象 print(user_obj.name, user_obj.id) # 此时还没创建对象呢,不信你打印一下id发现还是None Session.add(user_obj) # 把要创建的数据对象添加到这个session里, 一会统一创建 print(user_obj.name, user_obj.id) # 此时也依然还没创建 Session.commit() # 现此才统一提交,创建数据 # 插入结束 # 查询开始 my_user = Session.query(User).filter_by(name="alex").first() print(my_user) print(my_user.id, my_user.name, my_user.password) # 查询结束 # 修改开始 my_user = Session.query(User).filter_by(name="alex").first() my_user.name = "Alex Li" Session.commit() # 修改技术 # 多条件查询 objs = Session.query(User).filter(User.id > 0).filter(User.id < 7).all() # 多条件查询 # 统计 Session.query(User).filter(User.name.like("Ra%")).count() # 统计 # 分组 from sqlalchemy import func print(Session.query(func.count(User.name), User.name).group_by(User.name).all()) # 分组