SQLiteは軽量で高速な組み込みデータベースであり、Pythonでもよく使用されます。しかし、データベースを扱う際にGUIツールがあると、より直感的に操作できる場合があります。この記事では、SQLiteのGUIツールとPythonスクリプトをどのように連携させるかを詳しく説明します。具体的なコード例とその解説、さらには応用例も含めています。
SQLiteとPythonの基本的な連携方法
PythonにはSQLiteを簡単に扱うための`sqlite3`という標準ライブラリが存在します。まずは基本的な使用方法から見ていきましょう。
# sqlite3ライブラリをインポート
import sqlite3
# データベースに接続
conn = sqlite3.connect('example.db')
# カーソルオブジェクトを作成
c = conn.cursor()
# SQLクエリを実行
c.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)")
# 変更をコミット
conn.commit()
# データベース接続を閉じる
conn.close()
コードの解説
– `import sqlite3`: `sqlite3` ライブラリをインポートします。
– `sqlite3.connect(‘example.db’)`: `example.db` という名前のSQLiteデータベースに接続します。
– `conn.cursor()`: カーソルオブジェクトを作成します。このカーソルを使ってSQLクエリを実行します。
– `c.execute(SQL)`: SQLクエリを実行します。
– `conn.commit()`: トランザクションをコミットします。
– `conn.close()`: データベース接続を閉じます。
SQLiteのGUIツールの役割
SQLiteのGUIツール(例:DB Browser for SQLite)を使うと、データベースのテーブルやデータを直接確認できます。また、SQLクエリも手動で試すことができます。
PythonスクリプトとSQLite GUIツールの連携方法
PythonスクリプトとSQLiteのGUIツールを連携させる一例として、Pythonスクリプトで作成したデータベースにGUIツールでアクセスする方法を見ていきましょう。
# sqlite3をインポート
import sqlite3
# データベースに接続
conn = sqlite3.connect('gui_example.db')
# カーソルオブジェクトを作成
c = conn.cursor()
# テーブルを作成
c.execute("CREATE TABLE IF NOT EXISTS items (id INTEGER PRIMARY KEY, name TEXT, price INTEGER)")
# データを追加
c.execute("INSERT INTO items (name, price) VALUES ('Apple', 100)")
c.execute("INSERT INTO items (name, price) VALUES ('Banana', 80)")
c.execute("INSERT INTO items (name, price) VALUES ('Cherry', 300)")
# コミット
conn.commit()
# データベース接続を閉じる
conn.close()
コードの解説
このコードでは`gui_example.db`という名前の新しいデータベースを作成し、`items`というテーブルを作成しています。その後、3つのフルーツとその価格をテーブルに追加しています。
応用例1: データのフィルタリングと集計
Pythonのスクリプトを用いて、特定の条件に一致するデータをフィルタリングと集計する例を見てみましょう。
# sqlite3をインポート
import sqlite3
# データベースに接続
conn = sqlite3.connect('gui_example.db')
# カーソルオブジェクトを作成
c = conn.cursor()
# 価格が100以上のアイテムを集計
c.execute("SELECT name, SUM(price) FROM items WHERE price >= 100 GROUP BY name")
results = c.fetchall()
for row in results:
print(f"{row[0]}: {row[1]} yen")
# データベース接続を閉じる
conn.close()
コードの解説
このスクリプトでは、`items`テーブルから価格が100以上のアイテムをフィルタリングし、その価格を集計しています。
応用例2: 外部CSVファイルからデータを取り込む
Pythonスクリプトで外部CSVファイルからデータをSQLiteデータベースに取り込む例です。
import csv
import sqlite3
conn = sqlite3.connect('gui_example.db')
c = conn.cursor()
with open('data.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
c.execute("INSERT INTO items (name, price) VALUES (?, ?)", (row[0], row[1]))
conn.commit()
conn.close()
コードの解説
この例では、`data.csv`というCSV
ファイルからデータを読み取り、それを`items`テーブルに追加しています。
まとめ
SQLiteのGUIツールとPythonスクリプトの連携は、データベースの管理を効率化する大きな手段の一つです。今回は基本的な連携方法と応用例について見てきましたが、これを基にさまざまなデータベース操作を自動化してみてはいかがでしょうか。
コメント