SQLAlchemy

Connecting

連接到數(shù)據(jù)庫的書寫規(guī)范:

engine = create_engine('dialect+driver://username:password@host:port/database')

sqlite緩存模式

from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:', echo=True)

mysql連接實例:

engine = create_engine('mysql://root:password@localhost/testsqlalchemy',encoding="utf-8", echo=True)
s1.png
s2.png

MySQL-connector-python

engine = create_engine('mysql+mysqlconnector://scott:tiger@localhost/foo')

Declare a Mapping

數(shù)據(jù)庫與類映射的基類:

from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()

定義一個表(類):

from sqlalchemy import Column, Integer, String
class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    fullname = Column(String)
    password = Column(String)
    def __repr__(self):
    return "<User(name='%s', fullname='%s', password='%s')>" % (
                           self.name, self.fullname, self.password)

注意:創(chuàng)建的表(類)名字以及字段必須是數(shù)據(jù)庫的表本身存在的,否則產(chǎn)生錯誤

Create a Schema(創(chuàng)建一個圖表)

User.__table__ 
Table('users', MetaData(bind=None),
            Column('id', Integer(), table=<users>, primary_key=True,        nullable=False),
            Column('name', String(), table=<users>),
            Column('fullname', String(), table=<users>),
            Column('password', String(), table=<users>), schema=None)

每個個table對象是MetaData的一個實例,故可以使用.metadata屬性.
可以使用MetaData.create_all()方法連接到數(shù)據(jù)庫.

Base.metadata.create_all(engine) 

生成一個字段,類型為string,長度限制在50:

 Column(String(50))

sequence通常關(guān)聯(lián)在主鍵,代表一個表的名稱和結(jié)構(gòu)參數(shù).

some_table = Table(
'some_table', metadata,
Column('id', Integer, Sequence('some_table_seq'),
primary_key=True)
)

Create an Instance of the Mapped Class(實例化一個表)

>>> ed_user = User(name='ed', fullname='Ed Jones',     password='edspassword')
>>> ed_user.name
'ed'
>>> ed_user.password
'edspassword'
>>> str(ed_user.id)
'None'
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市恃锉,隨后出現(xiàn)的幾起案子搀菩,更是在濱河造成了極大的恐慌,老刑警劉巖破托,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肪跋,死亡現(xiàn)場離奇詭異,居然都是意外死亡土砂,警方通過查閱死者的電腦和手機州既,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來萝映,“玉大人吴叶,你說我怎么就攤上這事⌒虮郏” “怎么了蚌卤?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長奥秆。 經(jīng)常有香客問我逊彭,道長,這世上最難降的妖魔是什么构订? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任侮叮,我火速辦了婚禮,結(jié)果婚禮上悼瘾,老公的妹妹穿的比我還像新娘囊榜。我一直安慰自己谷异,他們只是感情好,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布锦聊。 她就那樣靜靜地躺著歹嘹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪孔庭。 梳的紋絲不亂的頭發(fā)上尺上,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音圆到,去河邊找鬼怎抛。 笑死,一個胖子當著我的面吹牛芽淡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挣菲,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼白胀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起或杠,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤哪怔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后向抢,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡叉信,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了兄猩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茉盏。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡鉴未,死狀恐怖枢冤,靈堂內(nèi)的尸體忽然破棺而出铜秆,到底是詐尸還是另有隱情淹真,我是刑警寧澤连茧,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布巍糯,位于F島的核電站客扎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏徙鱼。R本人自食惡果不足惜宅楞,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一厌衙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧婶希,春花似錦蓬衡、人聲如沸喻杈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽家肯。三九已至,卻和暖如春换棚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背固蚤。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工歹茶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惊豺。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像尸昧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子爆侣,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容