python orm架構SQLAlchemy簡單應用(資料庫操作)的執行個體代碼

來源:互聯網
上載者:User
這篇文章詳解python orm架構SQLAlchemy簡單應用(資料庫操作)的執行個體代碼

#_*_coding:utf-8_*_'''建立SQLAlchemy應用基本過程1、建立串連(和關聯式資料庫建立串連)2、宣告對應檔案(python中到類和資料庫中的表做一對一的映射,這樣就可以通過python中的類對資料庫中到表進行操作)3、建立模式(可以建立表)4、初始化映射執行個體5、建立會話6、持久化執行個體對象''' from sqlalchemy import create_engine #建立串連engine = create_engine('mysql://root:1qaz#EDC@192.168.89.101:3306/student', echo=True)'''參數說明:mysql 表示要串連的資料庫是mysql資料庫root 表示用root賬戶登入mysql資料庫1qaz#EDC 表示串連資料庫的root賬戶的密碼@ 是一個符號,規定的格式192.168.89.1.101:3306 表示資料庫的串連地址和連接埠3306soms 表示將要串連的資料庫的名字echo=True 表示在執行的時候是否列印sql語句,False為不列印'''  #宣告對應檔案from sqlalchemy.ext.declarative import declarative_base #引入了declarative_base類Base = declarative_base() #執行個體化了一個declarative_base執行個體 from sqlalchemy import Column, Integer, String #引入類Column, Integer, String類class User(Base): #建立自己的執行個體類 名字為User 繼承Base類    __tablename__ = 'users' #這個屬性,表示這個類和資料庫中的users表進行映射    id = Column(Integer, primary_key=True) #這個屬性工作表示id在資料庫表中代表著一列,Integer表示是整數,而且id是主鍵    name = Column(String(10)) #這個屬性工作表示在資料庫表中也是一列,它的類型是string    passwd = Column(String(10)) #這個屬性工作表示在資料庫表中也是一列,它的類型是string     def __repr__(self): #定義了一個方法,目的是將User類更加形象的表示出來,沒啥太大用途        return "<User(name='%s', name='%s', password='%s')>" % (self.name, self.name, self.passwd)  #建立模式,建立資料庫表,表名稱:usersUser.metadata.create_all(engine) #建立會話(session)'''建立會化'''from sqlalchemy.orm import sessionmaker #引入sessionmaker這個函數Session = sessionmaker(bind=engine) #建立session對話,通過這個session就可以對資料庫進行一些操作session = Session() #綁定 #持久化一個執行個體對象ed_user = User(id=2,name='tantianran', passwd='1qaz#EDC') #向資料庫表中到列插入資料session.add(ed_user) #將這個執行個體添加到session中session.commit() #提交

執行結果:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.