SqlAlchemy使用詳解

python之sqlalchemy建立表的實例詳解python

經過sqlalchemy建立表須要三要素:引擎,基類,元素mysql

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

 

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

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

 

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

基類:ui

Base = declarative_base()編碼

元素:spa

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

 

經過基本元素:code

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

 

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

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

 

建立:sqlalchemy

Base.metadata.create_all(engine)

 

基本過程:

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

 

 

設置聯合惟一

    __table_args__=(
        UniqueConstraint("student_id","hobby_id",name="uix_student_id_hobby_id"),
    )
相關文章
相關標籤/搜索