1. 程式人生 > >Python sqlalchemy使用

Python sqlalchemy使用

ike ble tab alc session 條件查詢 sqlit gpo 條件

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()) # 分組

Python sqlalchemy使用