Pythonのsqlite3におけるcreate文とinsert文の書き方

Pythonのsqlite3ライブラリを使用してSQLiteデータベース内にテーブルを作成し、データを挿入(INSERT)する方法は以下の通りです。

テーブルの作成(CREATE文)

まず、テーブルを作成するためのCREATE文を実行します。テーブルの構造を定義します。以下はCREATE文の例です。

python
import sqlite3

# データベースに接続
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()

# テーブルの作成用のCREATE文
create_table_query = '''
CREATE TABLE IF NOT EXISTS mytable (
    id INTEGER PRIMARY KEY,
    name TEXT,
    age INTEGER
);
'''

# テーブルを作成
cursor.execute(create_table_query)

# データベースへの変更をコミット
conn.commit()

# 接続を閉じる
conn.close()

この例では、mytableという名前のテーブルを作成し、3つのカラム(idnameage)を定義しています。idカラムは主キー(PRIMARY KEY)であり、整数(INTEGER)型です。nameageカラムはそれぞれテキスト(TEXT)型と整数(INTEGER)型です。

データの挿入(INSERT文)

テーブルが作成されたら、データを挿入することができます。以下はINSERT文の例です。

python
import sqlite3

# データベースに接続
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()

# データを挿入するINSERT文
insert_query = "INSERT INTO mytable (name, age) VALUES (?, ?)"

# 挿入するデータ
data_to_insert = ("John Doe", 30)

# INSERT文を実行
cursor.execute(insert_query, data_to_insert)

# データベースへの変更をコミット
conn.commit()

# 接続を閉じる
conn.close()

この例では、mytableテーブルにデータを挿入しています。INSERT文内のnameageにデータを挿入するため、execute()メソッドの第二引数としてデータを渡しています。データベースへの変更をコミットすることで、データが永続的に保存されます。

必要に応じて、データの挿入を繰り返すことができます。挿入するデータを変更し、execute()メソッドを再度呼び出すことで、新しいデータをテーブルに挿入できます。