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()

このルーチンは、クエリ結果のすべての(残りの)行をフェッチして、リストを返します。使用可能な行がない場合は、空のリストが返されます。