Pythonを使用してMySQLデータベースに接続して、テーブルを作成し、データを挿入、取得、更新する方法を説明します。PythonでMySQLデータベースに接続するには、PythonにMySQLドライバをインストールする必要があります。今回は、Pythonの「mysql-connector-python」というライブラリを使用します。
MySQLに接続する
PythonでMySQLに接続するには、mysql.connectorモジュールを使用します。以下のコードを使用して、MySQLに接続します。
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword" ) print(mydb)
上記のコードで、host、user、passwordの値を適切に設定してください。
テーブルを作成する
MySQLにテーブルを作成するには、CREATE TABLEステートメントを使用します。以下のコードを使用して、テーブルを作成します。
mycursor = mydb.cursor() mycursor.execute("CREATE DATABASE mydatabase") mycursor.execute("USE mydatabase") mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")
上記のコードでは、mydatabaseという名前のデータベースを作成し、その中にcustomersという名前のテーブルを作成しています。
データを挿入する
PythonでMySQLにデータを挿入するには、INSERTステートメントを使用します。以下のコードを使用して、データを挿入します。
mycursor = mydb.cursor() sql = "INSERT INTO customers (name, address) VALUES (%s, %s)" val = ("John", "Highway 21") mycursor.execute(sql, val) mydb.commit() print(mycursor.rowcount, "record inserted.")
上記のコードでは、nameとaddressのカラムに"John"と"Highway 21"という値を挿入しています。
データを取得する
PythonでMySQLからデータを取得するには、SELECTステートメントを使用します。以下のコードを使用して、データを取得します。
mycursor = mydb.cursor() mycursor.execute("SELECT * FROM customers") myresult = mycursor.fetchall() for x in myresult: print(x)
上記のコードでは、customersテーブルからすべてのデータを取得しています。
データを更新する
PythonでMySQLのデータを更新するには、UPDATEステートメントを使用します。以下のコードを使用して、データを更新します。
mycursor = mydb.cursor() sql = "UPDATE customers SET address = %s WHERE name = %s" val = ("Canyon 123", "John") mycursor.execute(sql, val) mydb.commit() print(mycursor.rowcount, "record(s) updated.")
上記のコードでは、nameが"John"であるレコードのaddressを"Canyon 123"に更新しています。
よく発生するエラーと対応法
PythonでMySQLを操作する際によく発生するエラーとその対応方法をいくつか紹介します。
「ModuleNotFoundError: No module named 'mysql'」
このエラーは、PythonにMySQLドライバがインストールされていない場合に発生します。解決するには、PythonにMySQLドライバをインストールする必要があります。例えば、mysql-connector-pythonライブラリを使用する場合は、以下のようにコマンドを入力します。
pip install mysql-connector-python
「mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'username'@'localhost'」
このエラーは、MySQLに接続するためのユーザー名とパスワードが正しくない場合に発生します。解決するには、正しいユーザー名とパスワードを使用する必要があります。また、MySQLにユーザーが存在しない場合は、新しいユーザーを作成する必要があります。
「mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax」
このエラーは、SQL文の構文が正しくない場合に発生します。解決するには、正しいSQL構文を使用する必要があります。また、SQL文の引用符やカンマの数などの細かな部分もチェックする必要があります。
「mysql.connector.errors.IntegrityError: 1062 (23000): Duplicate entry 'xxx' for key 'PRIMARY'」
このエラーは、一意制約を持つカラムに重複した値を挿入しようとした場合に発生します。解決するには、重複を避けるようにデータを修正する必要があります。
「mysql.connector.errors.InterfaceError: 2055: Lost connection to MySQL server at 'localhost:3306', system error: 10054」
このエラーは、MySQLサーバーとの接続が切れた場合に発生します。解決するには、MySQLサーバーが実行されているかどうか、またはネットワーク接続が問題ないかを確認する必要があります。
以上が、PythonでMySQLを操作する際によく発生するエラーとその対応方法です。
まとめ
以上がPythonでMySQLに接続して、テーブルを作成し、データを挿入、取得、更新する方法です。これらのコードを組み合わせて、より複雑なデータベースアプリケーションを作成することができます。
これらのプログラムはPythonの基本的な文法とライブラリで実装することができます。Pythonの基礎学習には下記のようなサイトの利用が有効です。