今回は、PythonにてMySQLでのデータベース操作を行う方法を掲載します。
1.ライブラリのインストール
PythonでMySQLのテーブルを操作するためには、mysql-connector-pythonやPyMySQLなどのライブラリを使うのが一般的です。今回は、mysql-connector-pythonを使用して、MySQLのデータベースに接続し、テーブルの作成、データの挿入、データの取得、テーブルの削除を行うサンプルコードを紹介します。
pip install mysql-connector-pythonまずは、上記のコマンドを入力し、「mysql-connector-python」のライブラリをインストールします。
普通にコマンドプロンプトから入力するだけでインストール可能です。
C:\Users\XXXXXX>pip install mysql-connector-python
Collecting mysql-connector-python
Downloading mysql_connector_python-9.0.0-cp311-cp311-win_amd64.whl (14.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.3/14.3 MB 5.2 MB/s eta 0:00:00
Installing collected packages: mysql-connector-python
Successfully installed mysql-connector-python-9.0.0
[notice] A new release of pip is available: 23.1.2 -> 24.1.2
[notice] To update, run: python.exe -m pip install --upgrade pip
C:\Users\XXXXXX>こんな感じの結果が表示されれば、インストール成功です。
2.PythonでMySQLのテーブル操作を行う(作成・挿入・抽出・削除)
以下が、PythonでMySQLのデータベースに接続し、テーブルの作成、データの挿入、データの取得、テーブルの削除といった基本的な操作を行うサンプルコードとなります。
import mysql.connector
from mysql.connector import Error
# データベース接続
def create_connection():
"""MySQLデータベースへの接続を作成します。"""
try:
connection = mysql.connector.connect(
host='localhost', # ホスト名
user='root', # ユーザー名
password='XXXXXXXXXXX', # パスワード
database='test_schema' # 使用するデータベース名
)
if connection.is_connected():
print("MySQLデータベースに接続しました。")
return connection
except Error as e:
print(f"エラーが発生しました: {e}")
return None
# テーブル作成
def create_table(connection):
"""テーブルを作成します。"""
try:
cursor = connection.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
position VARCHAR(100),
hire_date DATE
)
""")
print("テーブルが作成されました。")
except Error as e:
print(f"テーブル作成中にエラーが発生しました: {e}")
# テーブルへのデータ挿入
def insert_data(connection):
"""データをテーブルに挿入します。"""
try:
cursor = connection.cursor()
query = "INSERT INTO employees (name, position, hire_date) VALUES (%s, %s, %s)"
values = [
('taro', 'Engineer', '2024-07-25'),
('hanako', 'Manager', '2023-01-20')
]
cursor.executemany(query, values)
connection.commit()
print(f"{cursor.rowcount} 行のデータが挿入されました。")
except Error as e:
print(f"データ挿入中にエラーが発生しました: {e}")
# テーブル内のデータ抽出
def fetch_data(connection):
"""テーブルからデータを取得します。"""
try:
cursor = connection.cursor()
cursor.execute("SELECT * FROM employees")
rows = cursor.fetchall()
for row in rows:
print(row)
except Error as e:
print(f"データ取得中にエラーが発生しました: {e}")
# テーブルの削除
def drop_table(connection):
"""テーブルを削除します。"""
try:
cursor = connection.cursor()
cursor.execute("DROP TABLE IF EXISTS employees")
print("テーブルが削除されました。")
except Error as e:
print(f"テーブル削除中にエラーが発生しました: {e}")
def main():
connection = create_connection()
if connection:
create_table(connection)
insert_data(connection)
fetch_data(connection)
drop_table(connection)
connection.close()
if __name__ == "__main__":
main()
サンプルコードとなりますので、テーブル名やSQLといった部分は、適宜変更してください。
なお、実行すると、以下の形で結果が出力されます。
MySQLデータベースに接続しました。
テーブルが作成されました。
2 行のデータが挿入されました。
(1, 'taro', 'Engineer', datetime.date(2024, 7, 25))
(2, 'hanako', 'Manager', datetime.date(2023, 1, 20))
テーブルが削除されました。まとめ
今回は、Pythonのライブラリである「mysql-connector-python」を利用してデータベース操作を行う方法を纏めました。
データベースへの接続から始まり、テーブル作成~データ挿入~データ抽出~テーブル削除といった基本的な操作方法を纏めていますので、是非参考にしてください。
(今回はここまで)
お読みいただき、有難うございました!


コメント