SQLiteでデータの挿入と取得を行う方法
SQLiteは非常に軽量でシンプルなデータベースであり、Pythonと組み合わせて利用することで簡単にデータの管理ができます。この記事では、SQLiteを使ってデータベースにデータを挿入し、それを取得する基本的な方法を紹介します。
データを挿入する手順
データをデータベースに挿入するには、以下の手順を実行します。
- SQLiteデータベースに接続する
- データを挿入するためのSQL文を実行する
- コミットして変更を保存する
- 接続を閉じる
Pythonでのデータ挿入のコード例
以下はPythonを使用してSQLiteにデータを挿入するための具体的なコード例です。
# SQLiteモジュールをインポート
import sqlite3
# データベースに接続(ファイルが存在しない場合は作成されます)
conn = sqlite3.connect('example.db')
# カーソルを作成してSQL文を実行するために使用
cursor = conn.cursor()
# データを挿入するSQL文
cursor.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('John Doe', 30))
# 変更を保存する
conn.commit()
# 接続を閉じる
conn.close()
# コメント:上記のコードは、usersテーブルに新しいレコードを挿入します。
# nameは'John Doe'、ageは30です。
コードの詳細な解説
cursor.execute(): SQL文を実行します。ここでは、INSERT INTO文を使ってusersテーブルにデータを挿入しています。VALUES (?, ?): これはプレースホルダーを使って変数を埋め込む方法で、SQLインジェクション攻撃を防ぐために使われます。conn.commit(): データの変更を保存します。これを行わないとデータはデータベースに保存されません。conn.close(): データベース接続を閉じます。接続を開いたら、必ず最後に閉じることを忘れないようにしましょう。
データを取得する手順
次に、データを取得する手順です。挿入したデータを取り出すためには、以下の手順を実行します。
- SQLiteデータベースに接続する
- データを取得するためのSQL文を実行する
- データをフェッチして取り出す
- 接続を閉じる
Pythonでのデータ取得のコード例
以下は、データベースからデータを取得するコード例です。
# SQLiteモジュールをインポート
import sqlite3
# データベースに接続
conn = sqlite3.connect('example.db')
# カーソルを作成
cursor = conn.cursor()
# データを取得するSQL文
cursor.execute('SELECT * FROM users')
# データを全てフェッチして取得
rows = cursor.fetchall()
# 取得したデータを表示
for row in rows:
print(row)
# 接続を閉じる
conn.close()
# コメント:上記のコードは、usersテーブルの全てのデータを取得し、行ごとに出力します。
# SELECT * FROM usersは、すべてのカラムのデータを選択するSQL文です。
コードの詳細な解説
SELECT * FROM users: usersテーブルの全てのデータを取得します。特定のカラムを選択したい場合は、SELECT name, age FROM usersのように指定することもできます。cursor.fetchall(): 全ての取得結果をリストとして返します。for row in rows: データをループで回しながら、各行のデータを表示しています。
まとめ
SQLiteを使ってデータを挿入し、取得する方法について説明しました。Pythonのsqlite3モジュールを使うことで、データベースへのアクセスが非常に簡単に行えます。挿入時にはINSERT INTO文を使用し、取得時にはSELECT文を使用します。データベースに対する操作の基本的な流れを理解することができれば、より複雑な操作にも対応できるようになります。これらの基本操作は、実際のアプリケーションでのデータ管理に欠かせない技術です。