溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python-sqlalchemy

發(fā)布時間:2020-05-27 08:19:40 來源:網(wǎng)絡(luò) 閱讀:387 作者:M_x_M 欄目:MySQL數(shù)據(jù)庫
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer,String
from sqlalchemy.orm import sessionmaker
from sqlalchemy import func
engine=create_engine(
    "mysql+pymysql://root:123456@localhost/mxm_db",
    encoding='utf-8',echo=False
)
Base=declarative_base()#生成orm基類
class User(Base):
    __tablename__='user'
    id=Column(Integer,primary_key=True)
    name=Column(String(32))
    password=Column(String(64))

    def __repr__(self):
        return '<%s,%s,%s>' %(self.id,self.name,self.password)
Base.metadata.create_all(engine)
Session_class=sessionmaker(bind=engine)#創(chuàng)建與數(shù)據(jù)庫的會話class
Session=Session_class()#生成session實例,跟cursor一樣
#1.增加數(shù)據(jù)
# user_obj=User(name='mxm1',password='mxm1')#生成你要創(chuàng)建的數(shù)據(jù)對象
# print(user_obj.name,user_obj.password)
# Session.add(user_obj)#把要創(chuàng)建的數(shù)據(jù)對象,添加到這個session里
# Session.commit()#統(tǒng)一提交,創(chuàng)建數(shù)據(jù)
#2.查詢數(shù)據(jù)
data=Session.query(User).filter_by(name='mxm1').first()#查詢不需要commit
print(data)
#3.修改數(shù)據(jù)
#data.name='mxm2'
#data.password='mxm2'
#Session.commit()
#4.數(shù)據(jù)回滾
#Session.rollback()
#filter(User.name.in_(['name1','name2']))
#5.統(tǒng)計
#data=Session.query(User).filter_by(password='mxm').\
#    filter_by(name='mxm').count()#查詢不需要commit
#print(data)
#6.分組
#data=Session.query(User.name,func.count(User.name)).group_by(User.name).all()
#print(data)
向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI