PythonでSQLiteを使用する方法

SQLiteは組み込みデータベースであり、そのデータベースはファイルです。 SQLite自体はCで記述されており、サイズが小さいため、iOSやAndroidのアプリであっても、さまざまなアプリケーションに統合されることがよくあります。 PythonにはSQLite3が組み込まれているため、PythonでSQLiteを使用する場合は、何もインストールして直接使用する必要はありません。

SQLiteを使用する前に、まずいくつかの概念を理解する必要があります。

テーブルは、データベースに格納されているリレーショナルデータのコレクションです。データベースには通常、学生テーブル、クラステーブル、学校テーブルなどの複数のテーブルが含まれています。テーブルとテーブルは外部キーによって関連付けられています。

リレーショナルデータベースを操作するには、最初にデータベースに接続する必要があります。データベース接続は接続と呼ばれます。

データベースに接続した後、カーソルを開いてCursorと呼び、Cursorを介してSQLステートメントを実行し、実行結果を取得する必要があります。

Pythonは、データベースを操作するためのAPIインターフェイスのセットを定義します。任意のデータベースをPythonに接続するには、Python標準に準拠するデータベースドライバーを提供するだけで済みます。

SQLiteドライバーはPython標準ライブラリに組み込まれているため、SQLiteデータベースを直接操作できます。

Pythonインタラクティブコマンドラインで練習してみましょう。

# SQLiteドライバーをインポートする:import sqlite3
# SQLiteデータベースに接続します
# データベースファイルはテスト中です.db
# ファイルが存在しない場合は、現在のディレクトリに自動的に作成されます:
 conn = sqlite3.connect('test.db')
# カーソルを作成する:
 cursor = conn.cursor()
# SQLステートメントを実行してユーザーテーブルを作成します:
 cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')<sqlite3.cursor object="" at=""0x10f8aa260="" 
# SQLステートメントの実行を続行し、レコードを挿入します:
 cursor.execute('insert into user (id, name) values (\'1\', \'Michael\')')
# rowcountを通じて挿入された行数を取得します:
 cursor.rowcount
1
# カーソルを閉じる:
 cursor.close()
# トランザクションをコミットする:
 conn.commit()
# 接続を閉じる:
 conn.close()</sqlite3.cursor </sqlite3.cursor 

レコードのクエリをもう一度試してみましょう。

 conn = sqlite3.connect('test.db')
 cursor = conn.cursor()
# クエリを実行する:
 cursor.execute('select * from user where id=?','1')<sqlite3.cursor object="" at=""0x10f8aa340="" 
# クエリ結果セットを取得する:
 values = cursor.fetchall()
 values
[( u'1', u'Michael')]
 cursor.close()
 conn.close()</sqlite3.cursor 

PythonのDB-APIを使用する場合、ConnectionオブジェクトとCursorオブジェクトを理解している限り、それらを開いた後に必ず閉じてください。そうすれば、自信を持って使用できます。

Cursorオブジェクトを使用して挿入、更新、および削除ステートメントを実行する場合、実行結果はrowcountによって影響を受ける行数に返され、実行結果を取得できます。

Cursorオブジェクトを使用してselectステートメントを実行する場合、結果セットはfeatchall()を介して取得できます。結果セットはリストであり、各要素はレコードの行に対応するタプルです。

SQLステートメントにパラメーターがある場合は、位置に応じてパラメーターをexecute()メソッドに渡す必要があります。プレースホルダーの数は、次のようにいくつかのパラメーターに対応する必要があります。

cursor.execute('select * from user where id=?','1')

SQLiteは、一般的な標準SQLステートメントといくつかの一般的なデータタイプをサポートします。具体的なドキュメントについては、SQLiteの公式Webサイトを参照してください。

概要

Pythonでデータベースを操作する場合は、最初にデータベースに対応するドライバーをインポートしてから、ConnectionオブジェクトとCursorオブジェクトを介してデータを操作する必要があります。

開いているConnectionオブジェクトとCursorオブジェクトが適切に閉じられていることを確認するために、そうでない場合、リソースがリークされます。

エラーが発生した場合に、ConnectionオブジェクトとCursorオブジェクトも確実に閉じるにはどうすればよいですか? try:…except:…finally:…の使用を思い出してください。

ナレッジポイントの拡張

SQLite3の概要

SQLite3は、sqlite3モジュールを使用してPythonと統合できます。 sqlite3モジュールはGerhardHaringによって作成されました。これは、PEP249で説明されているDB-API2.0仕様と互換性のあるSQLインターフェイスを提供します。 Python 2.5.x以降にはデフォルトでこのモジュールがあるため、このモジュールを個別にインストールする必要はありません。
sqlite3モジュールを使用するには、最初にデータベースを表す接続オブジェクトを作成する必要があります。次に、オプションでカーソルオブジェクトを作成できます。これは、すべてのSQLステートメントの実行に役立ちます。

いいですね!それから来て、それを使うことを学びなさい。

データベースに接続する

次のPythonコードは、既存のデータベースに接続する方法を示しています。データベースが存在しない場合は作成され、最後にデータベースオブジェクトが返されます。

#- *- coding:utf-8-*-import sqlite3
conn = sqlite3.connect('mysql_person.db')
print "Opened database successfully";

ここで、データベース名を特定の名前にコピーすることもできます:memory :。これにより、RAMにデータベースが作成されます。ここで、上記のプログラムを実行して、現在のディレクトリにデータベースmysql_person.dbを作成しましょう。必要に応じてパスを変更できます。上記のコードをsqlite.pyファイルに保存し、以下に示すように実行します。データベースが正常に作成されると、以下のメッセージが表示されます。

$chmod +x sqlite.py
$./sqlite.py
Open database successfully

これで、PythonでSQLiteを使用する方法に関するこの記事は終わりです。PythonでSQLiteを使用するより簡単なアプリケーションについては、ZaLou.Cnを検索してください。

Recommended Posts

PythonでSQLiteを使用する方法
およびおよびまたはPythonでの使用方法
パイソンタプルの使い方
Pythonでzip関数を使用する方法
pythonでformat関数を使用する方法
pythonでアシスタントを実行するコードを使用する方法
ubuntuでhanlpを使用する方法
pythonコードでラップする方法
Pythonで括弧を省略する方法
pythonでクラスを書く方法
pythonで数値をフィルタリングする方法
pythonでエラーを表示する方法
pythonでreturnを書く方法
Pythonで変数を理解する方法
pythonで変数をクリアする方法
pythonでキャッシュファイルを削除する方法
Pythonでサードパーティモジュールを導入する方法
pythonでnull値を表す方法
pythonでテキストファイルを保存する方法
PYTHONを使用してニュース記事をクロールする方法
pythonでwinプログラムを書く方法
pythonでid関数を実行する方法
Pythonでサードパーティモジュールをインストールする方法
Pythonでプライベート属性を定義する方法
Pythonでカスタムモジュールを追加する方法
Pythonでグローバル変数を理解する方法
インストールされているモジュールをpythonで表示する方法
さまざまなシステムでのPythonopenメソッド
pythonで辞書を並べ替える方法
pythonで背景音楽を追加する方法
pythonで相対パスを表す方法
UbuntuでTensorFlow使用環境を構成する方法
Pythonのインターフェースに基づいてプログラミングする方法
Pythonゲームで重力をシミュレートする方法
pythonでコード自動プロンプトを設定する方法
pythonでゲームを書く方法を教えてください
pythonでファイルとディレクトリを削除する方法
ダウンロードしたモジュールをpythonでインストールする方法
告白プログラムをpythonで書く方法
pythonで連続乗算計算を実行する方法
pythonコードにコメントする方法
pythonをすばやく学ぶ方法
pythonオブジェクトを理解する方法
Puttyを使用してVirtualBoxにインストールされているubuntuにログインする方法
pythonで番号のリストを理解する方法
IEを添付ファイルとしてPythonで保存する方法
Ubuntu14.04でPython仮想環境を作成する方法
UbuntuにHelmをインストールする方法
Pythonのフィルター機能の使い方
Python開発でのパンダの使用
pythonのヘルプ機能の使い方
pythonウェブページコードの表示方法
pythonを使用してOracleデータベースにクエリを実行します
pythonでnohupコマンド命令を使用する
C ++を使用してPython3拡張機能を作成する
python設定ファイルの書き方
pythonで円の領域を見つける方法
pythonを使用して段階的な回帰を実現します
CentOSにPHP7.4をインストールする方法
pythonプログラムを保存する方法
Ubuntu14.04にmysqlをインストールする方法