SqlAlchemy初探
生活随笔
收集整理的這篇文章主要介紹了
SqlAlchemy初探
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
SqlAlchemy是Python下的一個成熟的ORM框架。下面我們對他的使用做一個簡略的介紹。
0.安裝
如果有pip,使用pip安裝,更便捷。pip install sqlalchemy
也可以下載包安裝。python setup.py install
?
1.連接配置
1 >>> from sqlalchemy import create_engine 2 >>> engine = create_engine('sqlite:///:memory:', echo=True) 3 MySql的連庫字符串:mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>]?2.模型配置
1 >>> from sqlalchemy.ext.declarative import declarative_base 2 >>> Base = declarative_base() 3 >>> from sqlalchemy import Column, Integer, String 4 >>> class User(Base): 5 ... __tablename__ = 'users' 6 ... 7 ... id = Column(Integer, primary_key=True) 8 ... name = Column(String) 9 ... fullname = Column(String) 10 ... password = Column(String) 11 ... 12 ... def __repr__(self): 13 ... return "<User(name='%s', fullname='%s', password='%s')>" % ( 14 ... self.name, self.fullname, self.password) 15 17 創(chuàng)建一個模型的實例: 18 >>> ed_user = User(name='ed', fullname='Ed Jones', password='edspassword') 19 >>> ed_user.name 20 'ed' 21 >>> ed_user.password 22 'edspassword' 23 >>> str(ed_user.id) 24 'None'?3.數(shù)據(jù)查詢
1 >>> from sqlalchemy.orm import sessionmaker 2 #兩種建立session的方法: 3 >>> Session = sessionmaker(bind=engine) 4 #或者 5 >>> Session = sessionmaker() 6 >>> Session.configure(bind=engine) # once engine is available3.1 普通查詢
1 >>>session.query(user_alias, user_alias.name).all()/one()/first() 2 >>>session.query(user_alias, user_alias.name).filter(User.fullname=='Ed Jones').filter(User.age [>,<,==,>=,<==]25).all() 3 >>>query.filter(User.name == 'ed') 4 >>>query.filter(User.name != 'ed') 5 >>>query.filter(User.name.like('%ed%')) 6 >>>query.filter(User.name.in_(['ed', 'wendy', 'jack'])) 7 >>>query.filter(~User.name.in_(['ed', 'wendy', 'jack'])) 8 >>>query.filter(User.name == None) 9 >>>query.filter(User.name.is_(None)) 10 >>>query.filter(User.name != None) 11 >>>query.filter(User.name.isnot(None)) 12 >>>from sqlalchemy import and_ 13 >>>query.filter(and_(User.name == 'ed', User.fullname == 'Ed Jones')) 14 >>>query.filter(User.name == 'ed', User.fullname == 'Ed Jones') 15 >>>query.filter(User.name == 'ed').filter(User.fullname == 'Ed Jones') 16 >>>from sqlalchemy import or_ 17 >>>query.filter(or_(User.name == 'ed', User.name == 'wendy')) 18 >>>query.filter(User.name.match('wendy'))? 3.2關(guān)聯(lián)查詢
用到時候再補上。
4.更改提交
?
轉(zhuǎn)載于:https://www.cnblogs.com/cncyber/p/4461794.html
總結(jié)
以上是生活随笔為你收集整理的SqlAlchemy初探的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何用C#代码查找某个路径下是否包含某个
- 下一篇: START