PythonでSQLクエリを実行する方法について、以下に詳しく説明します。代表的なデータベースとして SQLite を例に取り上げますが、MySQLやPostgreSQLでも基本的な流れは共通です。
1. 必要なモジュールのインポート
SQLiteの場合は標準ライブラリの sqlite3 モジュールを使用します。
MySQL や PostgreSQL を使う場合は、それぞれ mysql.connector や psycopg2 などの外部ライブラリを使います。
2. データベースに接続する
MySQLやPostgreSQLでは、ホスト名、ユーザー名、パスワード、データベース名などが必要になります。
3. カーソルオブジェクトの取得
SQL文を実行するには、カーソルオブジェクトを使用します。
4. SQLクエリの実行
a. テーブルの作成(DDL)
b. データの挿入(INSERT)
値のバインドには ? を使い、タプルで値を渡すことが推奨されます(SQLインジェクション対策)。
c. データの取得(SELECT)
d. データの更新(UPDATE)
e. データの削除(DELETE)
5. 変更を保存する
INSERT、UPDATE、DELETE などの操作を行った後は、コミットが必要です。
6. 接続を閉じる
注意点
-
プレースホルダには直接変数を埋め込まず、必ず
?または%sを使用します(DBMSによって異なります)。 -
大量のデータを扱う場合は
executemany()を使うと効率的です。 -
例外処理(try-except)を用いて接続や実行エラーをハンドリングすることが推奨されます。
生成日:2025/05/03