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のテーブルクラスを