標籤:oca commit highlight mys query meta ada 資料庫連接 from
import sqlalchemyfrom sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column,String,Integerfrom sqlalchemy.orm.session import sessionmakerfrom sqlalchemy import funcengine = create_engine(‘mysql+pymysql://root:[email protected]/testdb?charset=utf8‘,echo=False)Base = declarative_base() # 生產orm基類class User(Base): __tablename__ = ‘user‘ # 表名 id = Column(Integer, primary_key=True) name = Column(String(32)) # varchar(32) password = Column(String(64)) # varchar(64) def __init__(self,name,password): self.name = name self.password = password def __repr__(self): return ‘<@user:[name=%s,password=%s]> ‘ %(self.name,self.password)Base.metadata.create_all(engine) # 不存在建立資料表Session_class = sessionmaker(bind=engine) # 建立與資料庫的會話session class ,注意,這裡返回給session的是個class,不是執行個體Session = Session_class() # 生產session執行個體user_obj = User(name=‘kaige‘,password=‘123456‘) # 產生你要建立的資料對象print(user_obj.name, user_obj.id) # 此時還沒建立對象呢,列印一下id發現還是None# 插入資料 , 必須要commitSession.add(user_obj) # 把要建立的資料對象添加到這個session裡, 一會統一建立print(user_obj.name, user_obj.id) # 此時也依然還沒建立# 提交資料Session.commit()# Session.rollback() 復原# 查詢 一條# my_user = Session.query(User).filter_by(name=‘kaige‘).first()# 查詢所有# my_user = Session.query(User).filter(User.name==‘kaige‘).all()# 修改# my_user = Session.query(User).filter_by(name=‘kaige‘).first()# my_user.name = ‘I love you22222222‘# Session.commit() # 修改插入需要commit# 包含多個條件# my_user = Session.query(User).filter(User.name.in_([‘kaige‘, ‘I love you‘])).all()# 模糊查詢# my_user = Session.query(User).filter(User.name.like("I%")).all()# 統計# my_user = Session.query(User).filter(User.name == ‘kaige‘).count()# 分組‘‘‘ SELECT count(user.name) AS count_1, user.name AS user_name FROM user GROUP BY user.name‘‘‘# print(Session.query(func.count(User.name),User.name).group_by(User.name).all() )# 輸入結果 : [(1, ‘I love you‘), (2, ‘I love you22222222‘), (19, ‘kaige‘)]# Session.query(User).filter(User.name.in_([‘Jack‘,‘rain‘])).all()print(my_user)
http://www.cnblogs.com/alex3714/articles/5978329.html
python 資料庫連接 CRUD