SqlAlchemy使用詳解


python之sqlalchemy創建表的實例詳解

通過sqlalchemy創建表需要三要素:引擎,基類,元素

from sqlalchemy import create_engine 
from sqlalchemy.ext.declarative import declarative_base  
from sqlalchemy import Column,Integer,String

 

引擎:也就是實體數據庫連接

engine = create_engine('mysql+pymysql://godme:godme@localhost/godme',encoding='utf-8',echo=True)

 

傳入參數:數據庫類型+連接庫+用戶名+密碼+主機,字符編碼,是否打印建表細節

基類:

Base = declarative_base()

元素:

class User(Base): 
  __tablename__ = 'user' 
  id = Column(Integer,primary_key=True)  
  name = Column(String(32)) 
  password = Column(String(64))

 

通過基本元素:

__tablename__:指定表名
Column:行聲明,可指定主鍵
Integer:數據類型
String:數據類型,可指定長度

 

如何指定使用 InnoDB,以及使用 UTF-8 編碼?
最簡單的方式就是修改數據庫的默認配置。如果非要在代碼里指定的話,可以這樣:

class User(BaseModel):
    __table_args__ = {
        'mysql_engine': 'InnoDB',
        'mysql_charset': 'utf8'
    }

 

創建:

Base.metadata.create_all(engine)

 

基本過程:

1. 獲取實體數據庫連接
2. 創建類,繼承基類,用基本類型描述數據庫結構
3. 基類調用類結構,根據描述在引擎上創建數據表

 

 

設置聯合唯一

    __table_args__=(
        UniqueConstraint("student_id","hobby_id",name="uix_student_id_hobby_id"),
    )

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM