Python を SQL データベースに接続する方法

Python を SQL データベースに接続すると、Python スクリプトから直接データベースを操作できるようになります。この機能は、データの取得、更新、分析などのタスクに不可欠です。この記事では、SQLite、MySQL、PostgreSQL などの一般的なライブラリを使用して、Python を SQL データベースに接続する方法について説明します。

環境の設定

Python を SQL データベースに接続するには、適切なデータベース コネクタ ライブラリをインストールする必要があります。さまざまなデータベースに共通するライブラリは次のとおりです。

  • SQLite: SQLite サポートは Python に組み込まれているため、追加のインストールは必要ありません。
  • MySQL:mysql-connector-python または PyMySQL ライブラリを使用します。
  • PostgreSQL:psycopg2 ライブラリを使用します。

SQLite データベースへの接続

SQLite は、Python の標準ライブラリに組み込まれている軽量データベースです。SQLite データベースに接続して基本的な操作を実行する方法は次のとおりです。

import sqlite3

# Connect to an SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Alice', 30)
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM users')
print(cursor.fetchall())  # Output: [(1, 'Alice', 30)]

# Close the connection
conn.close()

MySQL データベースへの接続

MySQL データベースに接続するには、mysql-connector-python ライブラリをインストールする必要があります。pip を使用してインストールできます。

pip install mysql-connector-python

MySQL データベースに接続して基本的な操作を実行する例を次に示します。

import mysql.connector

# Connect to a MySQL database
conn = mysql.connector.connect(
    host='localhost',
    user='yourusername',
    password='yourpassword',
    database='testdb'
)

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    position VARCHAR(255)
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO employees (name, position)
VALUES ('Bob', 'Engineer')
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM employees')
print(cursor.fetchall())  # Output: [(1, 'Bob', 'Engineer')]

# Close the connection
conn.close()

PostgreSQL データベースへの接続

PostgreSQL データベースに接続するには、psycopg2 ライブラリが必要です。pip を使用してインストールします。

pip install psycopg2

PostgreSQL データベースに接続して基本的な操作を実行する例を次に示します。

import psycopg2

# Connect to a PostgreSQL database
conn = psycopg2.connect(
    dbname='testdb',
    user='yourusername',
    password='yourpassword',
    host='localhost'
)

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS products (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    price DECIMAL
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO products (name, price)
VALUES ('Laptop', 999.99)
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM products')
print(cursor.fetchall())  # Output: [(1, 'Laptop', 999.99)]

# Close the connection
conn.close()

結論

Python を SQL データベースに接続することは、あらゆるデータ駆動型アプリケーションにとって基本的なスキルです。sqlite3mysql-connector-pythonpsycopg2 などのライブラリを使用すると、さまざまなデータベースと簡単にやり取りできます。テーブルの作成、データの挿入、データベースのクエリなどの基本的な操作方法を理解することで、データを効果的に管理および操作できるようになります。