SQLAlchemyのデータベース操作

1.はじめに

ORMの一種

2、インストール

PIP3インストール-i https://pypi.douban.com/simple SQLAlchemyの

図3に示すように、データベース接続

 SQLAlchemyのインポートcreate_engineの
 エンジン = create_engine(
         " MySQLの+ pymysql://ルート:パスワード@ 127.0.0.1 :? 3306 /データベース名= UTF8文字セット" 
        max_overflow = 0、  外部接続プール作成に接続されている最大の大き超え 
        POOL_SIZE = 5 、   #の接続プールサイズ 
        pool_timeoutは= 30、  プールは、そうでなければ、エラー、スレッドが起動待機時ではない 
        = -1 pool_recycle   接続を回収した後、プール内の長いスレッドが(リセット)

図4に示すように、作成/削除テーブル(データベース接続を含んでいます)

、テーブルクラス

sqlalchemy.ext.declarative 輸入declarative_base
 から SQLAlchemyの輸入から SQLAlchemyのインポート整数、文字列

ベース = declarative_base()

クラスのユーザー(ベース):
     __tablename__ = ' ユーザー' 

    ID =列(整数、PRIMARY_KEY = 真) =列(String型( 32)、インデックス= Trueを、NULL可能= 偽)
    depart_id =カラム(整数)

B、テーブルの作成/削除

SQLAlchemyのインポートcreate_engineの
 DEFの:create_all()
    エンジン = create_engine(
         " MySQLの+のpymysql://ルート:パスワード@ 127.0.0.1 :? 3306 /データベース= UTF8文字セット" 
        max_overflow = 0、  作成した最も外側の接続プールのサイズより接続 
        POOL_SIZE = 5、  接続プールのサイズ 
        pool_timeout = 30、   #1 プールが他のエラー、何時間スレッドが起動待機されていない 
        pool_recycle = -1   どのくらい接続回復のプール内のスレッドの後(リセット)


    ベース。 metadata.create_all(エンジン)

DEF )(DROP_ALL:
    エンジン = create_engineを(
         "mysqlの+ pymysql://ルート:パスワード@ 127.0.0.1 :? 3306 /データベース= UTF8文字セット
        max_overflow = 0、  作成された外部接続プールに接続されている最大の大き超え 
        POOL_SIZE = 5、  接続プールのサイズ 
        pool_timeout = 30、  プールは、どのスレッドが時間を待機していない、そうでなければエラー 
        pool_recycle = -1   どのくらい回復のプール内のスレッドの後(リセット)を一度に接続

    Base.metadata.drop_all(エンジン)

IF  __name__ == __main__ #1 DROP_ALL() 
    create_all()

 

注意:更新、削除のみ再構築することができますDjangoのORMとは異なり、SQLAlchemyのテーブルクラスを

おすすめ

転載: www.cnblogs.com/wt7018/p/11616502.html