この記事では、PythonとSQLiteを用いてデータマイグレーションを実践的に行う方法を紹介します。Pythonのsqlite3モジュールを使用してSQLiteデータベースに接続し、テーブルの作成からデータの移行までのプロセスを詳しく説明します。具体的なコード例とその詳細な解説、さらには応用例も含めています。
目次
はじめに
データマイグレーションは、データベースの設計変更やシステム間でのデータの移動に不可欠な作業です。PythonとSQLiteを用いれば、このような作業を効率的かつ確実に行うことができます。
環境のセットアップ
PythonとSQLiteを使用するには、まず適切な環境をセットアップする必要があります。
必要なパッケージのインストール
Pythonが既にインストールされていることを前提とし、SQLiteのPythonラッパーであるsqlite3は標準ライブラリに含まれているため、追加でインストールする必要はありません。
基本的なデータマイグレーション
SQLiteデータベースに接続
Pythonのsqlite3モジュールを使用してSQLiteデータベースに接続します。
import sqlite3
# データベースに接続
conn = sqlite3.connect('example.db')
テーブルの作成
以下のコードでテーブルを作成します。
# カーソルオブジェクトを作成
cursor = conn.cursor()
# テーブル作成のSQL文
create_table_query = '''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
);
'''
# SQL文の実行
cursor.execute(create_table_query)
conn.commit()
データの挿入
次に、データを挿入します。
# データ挿入のSQL文
insert_query = "INSERT INTO users (name, age) VALUES (?, ?)"
# データの挿入
cursor.execute(insert_query, ('Alice', 30))
conn.commit()
応用例1:バッチ挿入
一度に多くのデータを挿入する場合の方法です。
# バッチでデータを挿入
users = [('Bob', 40), ('Charlie', 50), ('Dave', 60)]
cursor.executemany(insert_query, users)
conn.commit()
応用例2:データの更新と削除
データの更新と削除の方法を紹介します。
# データの更新
update_query = "UPDATE users SET age = ? WHERE name = ?"
cursor.execute(update_query, (35, 'Alice'))
conn.commit()
# データの削除
delete_query = "DELETE FROM users WHERE age >= ?"
cursor.execute(delete_query, (50,))
conn.commit()
まとめ
PythonとSQLiteを使用して簡単にデータマイグレーションを行うことができました。基本的な挿入やテーブルの作成から、バッチ挿入やデータの更新・削除まで、多様な操作が可能です。この知識を基に、更に複雑なデータマニュレーションに挑戦してみてください。
コメント