ホームページ  >  記事  >  バックエンド開発  >  Python を使用した SQLite の操作に関する簡単なチュートリアル

Python を使用した SQLite の操作に関する簡単なチュートリアル

WBOY
WBOYオリジナル
2016-06-16 08:43:171103ブラウズ

1. SQLite の概要

SQLite は、C ライブラリに含まれる軽量のデータベースです。個別のメンテナンス プロセスは必要なく、非標準の SQL クエリを使用してデータベースにアクセスできます。一部のアプリケーションでは SQLite を使用して内部データを保存します。また、後で PostgreSQL や Oracle などの大規模なデータベースに転送するためにアプリケーションのプロトタイプを作成するときにも使用できます。

sqlite3 モジュールは Gerhard Häring によって作成され、SQL インターフェイスを提供します。このインターフェイスの設計は、PEP 249 で説明されている DB-API 2.0 仕様に従っています。

2. データベースを作成して開きます

このモジュールを使用するには、まずデータベースを表す Connection オブジェクトを作成する必要があります。次の例では、データは example.db ファイルに保存されます:

コードをコピー コードは次のとおりです:
import sqlite3
conn = sqlite3.connect('example.db')

指定したデータベースが存在する場合はデータベースが直接開かれ、存在しない場合はデータベースが作成されて再度開かれます。
特別な名前 :memory: を指定して、メモリ内にデータベースを作成することもできます。

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

Connection オブジェクトを取得したら、Cursor オブジェクトを作成し、その use() メソッドを呼び出して SQL ステートメントを実行できます。

コードをコピー コードは次のとおりです。
c = conn.cursor()

# テーブルを作成
c.execute(''''CREATE TABLE 株 (日付テキスト、トランステキスト、シンボルテキスト、実際の数量、実際の価格)'')

# データ行を挿入
c.execute("株式値に挿入 ('2006-01-05','BUY','RHAT',100,35.14)")

# 変更を保存 (コミット)
conn.commit()

# 接続が終わったら、接続を閉じることもできます。
# 変更がコミットされていることを確認してください。コミットされていない場合は失われます。
conn.close()

保存されたデータは永続的であり、次回のアクセス時に利用できます。

4. 追加、削除、変更、確認

1. テーブルを作成します

コードをコピー コードは次のとおりです。c.execute("create table category (id integer Primary key,pid integer,name) varchar(10 ) UNIQUE、ニックネームのテキスト NULL)")
上記のステートメントは、主キー ID、PID、および名前を含む、catalog というテーブルを作成します。名前は重複できず、ニックネームのデフォルトは NULL です。

2. テーブルの削除 (DROP)、テーブルのクリア (TRUNCATE)

コードをコピー コードは次のとおりです:c.execute("drop table category")
上記のステートメントはカタログ テーブルを削除します。

また、SQLite にはテーブルをクリアする操作はありません。代わりに次のメソッドを使用してください。


コードをコピー コードは次のとおりです:c.execute("delete from category")
3. データの挿入とデータの更新

通常、Python 変数は SQL ステートメントの値として使用されます。 Python の文字列操作を直接使用してクエリ ステートメントを作成することはお勧めできません。これは安全ではなく、プログラムが SQL インジェクション攻撃に対して脆弱になるためです。

DB-APIが提供するパラメータ置換を利用できます。値を使用する場所に「?」をプレースホルダーとして配置し、カーソル内のexecute()メソッドの2番目のパラメータとして値のタプルを指定します。 (他のデータベース モジュールは、「%s」や「:1」などの他のプレースホルダーを使用する場合があります)


コードをコピー コードは次のとおりです: # 一度に多くのレコードを挿入する大きな例
購入数 = [('2006-03-28', '購入', 'IBM', 1000, 45.00),
('2006-04-05', '購入', 'MSFT', 1000, 72.00),
('2006-04-06', 'SELL', 'IBM', 500, 53.00),
]
c.executemany('株式の値に挿入 (?,?,?,?,?)', 購入)

c.execute("UPDATE カタログ SET trans='SELL' WHERE シンボル = 'IBM'")

4. データのクエリ (選択)

前に述べたように、操作にはタプルを使用することをお勧めします。


コードをコピーします コードは次のとおりです:# これは絶対に行わないでください -- 安全ではありません! シンボル = 'RHAT'
c.execute("SELECT * FROM 株式 WHERE シンボル = '%s'" % シンボル)

# 代わりにこれを実行してください t = ('RHAT',)

c.execute('SELECT * FROM 株式 WHERE シンボル=?', t)
print c.fetchone()

5. データを削除します


コードをコピー コードは次のとおりです:

t=('RHAT')
c.execute("DELETE * FROM 株式 WHERE シンボル=?", t)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。