PythonとSQLiteを用いたデータマイグレーションの実践

この記事では、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を使用して簡単にデータマイグレーションを行うことができました。基本的な挿入やテーブルの作成から、バッチ挿入やデータの更新・削除まで、多様な操作が可能です。この知識を基に、更に複雑なデータマニュレーションに挑戦してみてください。

コメント

コメントする

目次