連線mysql(建表和刪表)
阿新 • • 發佈:2018-11-20
from sqlalchemy.ext.declarative import declarative_base##拿到父類
from sqlalchemy import Column##拿到欄位
from sqlalchemy import create_engine ##建立引擎
from sqlalchemy import text,String,ForeignKey,Integer
from sqlalchemy.orm import relationship
##拿到表的父類物件
base=declarative_base()
######建立表
class depart(base):
__tablename__='depart'
id=Column(Integer,primary_key=True)
title=Column(Integer,primary_key=True)
class user(base):
__tablename__='user'
id=Column(Integer,primary_key=True)
name=Column(String,unique=True,nullable=False)
depart_id=Column(Integer,ForeignKey('depart.id'))
dp=relationship('Depart',backref='pers')##關聯那個表,不會在資料庫建立
###進行操作
def create_all():
engine=create_engine(
'mysql+pymysql://root:192855wang,,[email protected]:3306/orm4?charset=utf8',
max_overflow=0,##超過連線池最多建立的連線
pool_size=5,##連線池大小
pool_timeout=30,###池中沒有執行緒最多等待的時間,否則報錯
pool_recycle=-1,##多久之後對執行緒傳進行操作
)
def drop_all():
engine = create_engine(
'mysql+pymysql://root:192855wang,,[email protected]:3306/orm4?charset=utf8',
max_overflow=0, ##超過連線池最多建立的連線
pool_size=5, ##連線池大小
pool_timeout=30, ###池中沒有執行緒最多等待的時間,否則報錯
pool_recycle=-1, ##多久之後對執行緒傳進行操作
)
if __name__ == '__main__':
create_all()