PythonSQLite-はじめに
SQLite3は、GerhardHaringによって作成されたsqlite3モジュールを使用してPythonと統合できます。これは、PEP249で説明されているDB-API2.0仕様に準拠したSQLインターフェイスを提供します。このモジュールはPythonバージョン2.5.x以降にデフォルトで付属しているため、個別にインストールする必要はありません。
sqlite3モジュールを使用するには、最初にデータベースを表す接続オブジェクトを作成する必要があります。次に、オプションでカーソルオブジェクトを作成できます。これは、すべてのSQLステートメントの実行に役立ちます。
PythonSQLite3モジュールAPI
以下は重要なsqlite3モジュールルーチンです。これは、PythonプログラムからSQLiteデータベースを操作するための要件で十分です。より洗練されたアプリケーションを探している場合は、Pythonsqlite3モジュールの公式ドキュメントを調べることができます。
シニア番号 | APIと説明 |
---|---|
1 | sqlite3.connect(database [,timeout ,other optional arguments]) このAPIは、SQLiteデータベースファイルへの接続を開きます。「:memory:」を使用して、ディスクではなくRAMにあるデータベースへのデータベース接続を開くことができます。データベースが正常に開かれると、接続オブジェクトが返されます。 |
2 | connection.cursor([cursorClass]) このルーチンは、Pythonを使用したデータベースプログラミング全体で使用されるカーソルを作成します。このメソッドは、単一のオプションのパラメーターcursorClassを受け入れます。指定する場合、これはsqlite3.Cursorを拡張するカスタムカーソルクラスである必要があります。 |
3 | cursor.execute(sql [, optional parameters]) このルーチンはSQLステートメントを実行します。SQLステートメントはパラメーター化できます(つまり、SQLリテラルの代わりにプレースホルダー)。sqlite3モジュールは、疑問符と名前付きプレースホルダー(名前付きスタイル)の2種類のプレースホルダーをサポートします。 For example − cursor.execute( "insert into people values(?、?)"、(who、age)) |
4 | connection.execute(sql [, optional parameters]) このルーチンは、cursorオブジェクトによって提供される上記のexecuteメソッドのショートカットであり、cursorメソッドを呼び出すことによって中間カーソルオブジェクトを作成し、指定されたパラメーターを使用してカーソルのexecuteメソッドを呼び出します。 |
5 | cursor.executemany(sql, seq_of_parameters) このルーチンは、シーケンスsqlで見つかったすべてのパラメーターシーケンスまたはマッピングに対してSQLコマンドを実行します。 |
6 | connection.executemany(sql[, parameters]) このルーチンは、cursorメソッドを呼び出して中間カーソルオブジェクトを作成し、指定されたパラメータを使用してcursor.sexecutemanyメソッドを呼び出すショートカットです。 |
7 | cursor.executescript(sql_script) このルーチンは、スクリプトの形式で提供される複数のSQLステートメントを一度に実行します。最初にCOMMITステートメントを発行し、次にパラメーターとして取得したSQLスクリプトを実行します。すべてのSQLステートメントはセミコロン(;)で区切る必要があります。 |
8 | connection.executescript(sql_script) このルーチンは、cursorメソッドを呼び出して中間カーソルオブジェクトを作成し、指定されたパラメータを使用してカーソルのexecutescriptメソッドを呼び出すショートカットです。 |
9 | connection.total_changes() このルーチンは、データベース接続が開かれてから変更、挿入、または削除されたデータベース行の総数を返します。 |
10 | connection.commit() このメソッドは、現在のトランザクションをコミットします。このメソッドを呼び出さない場合、commit()を最後に呼び出してから行ったことは、他のデータベース接続からは見えません。 |
11 | connection.rollback() このメソッドは、commit()の最後の呼び出し以降のデータベースへの変更をロールバックします。 |
12 | connection.close() このメソッドは、データベース接続を閉じます。これはcommit()を自動的に呼び出さないことに注意してください。最初にcommit()を呼び出さずにデータベース接続を閉じると、変更が失われます。 |
13 | cursor.fetchone() このメソッドは、クエリ結果セットの次の行をフェッチして単一のシーケンスを返すか、使用可能なデータがなくなるとNoneを返します。 |
14 | cursor.fetchmany([size = cursor.arraysize]) このルーチンは、クエリ結果の次の行セットをフェッチして、リストを返します。使用可能な行がなくなると、空のリストが返されます。このメソッドは、sizeパラメーターで指定された数の行をフェッチしようとします。 |
15 | cursor.fetchall() このルーチンは、クエリ結果のすべての(残りの)行をフェッチして、リストを返します。使用可能な行がない場合は、空のリストが返されます。 |