PythonのDB API

PythonのDB-API 2.0仕様は、Python PEP-0249を指します。

https://www.python.org/dev/peps/pep-0249/

 

1、PythonのDB APIは、次のとおりです。

オブジェクトデータベース接続:接続

データベースとの対話オブジェクト:カーソル

データベースの例外クラス:例外

 

2、データベース開発プログラムの流れ:

1)カーソルを取得し、接続オブジェクトを作成します

SQLを実行するための2)を使用するカーソル

3)カーソル取得したデータを使用して、実行状態を決定します

4)トランザクションをコミットまたはトランザクションをロールバックします

PythonのDB APプロセスを使用してデータベースにアクセスします。

スタート-------> ------> GETカーソル------>(変化検索に追加および削除)データを処理------->クローズカーソルデータベース接続の接続を作成します---- - >近くに接続------>終了

 

図3に示すように、インタフェースモジュール(モジュールインタフェース)
接続オブジェクト(接続オブジェクト)を介してデータベースにアクセスを実現します。プログラムモジュールは、接続オブジェクトのコンストラクタの形で提供する必要があります。

CONNECT(パラメータ...)

データベース接続コンストラクタオブジェクト、戻り値Connectionオブジェクトインスタンス。数に至るまでさまざまな目的のために、データベースは、いくつかのパラメータの関数を受けます。
これらのモジュールは、次のモジュールレベルの変数で定義する必要があります。

apilevel:文字列定数、APIバージョンDBのサポートを示します。

    現在、唯一の値「1.0」と「2.0」。この定数が定義されていない場合、デフォルトはDB-API 1.0です。


threadsafety:整数定数、スレッドセーフモジュール支持体、可能な値のレベルを示します。

0スレッドセーフ、スレッドは、モジュールを共有することはできません。
スレッドは、モジュールを共有するが、共有オブジェクト(接続)に接続することができません。
2つのスレッドは、モジュールと接続オブジェクトを共有することができます。
3セキュリティスレッド、スレッド、モジュール、接続オブジェクトとカーソルオブジェクト(モジュール、接続、カーソル)の間で共有することができます。

ミューテックスを使用せずに2つのスレッドの上手段を共有する(ミューテックスセマフォ)ロック同時にリソースを使用します。
あなたは常に外部リソースがあるため、外部リソースのスレッドセーフであることを確認するためにミューテックスを使用しないことを注意に依存する可能性がある
グローバル変数や他の外部リソースが、これらは、あなたがコントロールすることはできませんされています。

paramstyle:抽出モードで使用されるSQL文の文字列定数の宣言モジュールパラメータ。有効な値は次の通りである[2]。

「qmark」モードの疑問符、例えば「... WHERE名=?」
「数値」序の方法、例えば「... WHERE名= :. 1'
『という名前の』は、例えば、名前の」... WHERE名= :名称'
例えば'フォーマット'の一般的なモード(ANSI Cのprintfフォーマットコード):' ...名=%S '
' pyformat 'Pythonは拡張モード、例えば、(Pythonはフォーマットコードを拡張):' ... WHERE NAME =% (名)S'

 

モジュールが処理するために、下記間違ったカテゴリと階層セットにする必要があり、さまざまなエラーメッセージが表示さ

 

 

エラークラス階層:

StandardError | __Warning | __Error | __InterfaceError | __DatabaseError | __DataError | __OperationalError | __IntegrityError | __InternalError | __ProgrammingError | __NotSupportedError

注:これらの例外(エラー)の値の(例外)、そこには明確な定義はありませんが、彼らは、ユーザーの良い十分なエラーに指示することができるはずです。

 

[参考文献]

PEP-0249シンプルな中国語の翻訳ます。https://blog.csdn.net/dajianshi/article/details/7482201

[引用源、yvivid宣言] https://www.cnblogs.com/yvivid/p/python_DB-API.htmlを

おすすめ

転載: www.cnblogs.com/yvivid/p/python_DB-API.html