這篇文章詳解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() #提交
執行結果: