「Python」を使用すれば、「MySQL」の操作ができます。本記事では「Python」で「MySQL」を操作するための事前準備と使用方法について解説します。
目次
「MySQL」とは、世界でもっとも利用されているデータベース管理システムです。大容量のデータでも高速で動作し、機能も充実しているため実用性が非常に高く、さまざまなプログラミング言語との連携が可能です。
また「MySQL」は、GPL(GNU General Public License)というオープンソースライセンスのもとで提供されています。そのため、高速で信頼性の高いシステムを無償で使用できます。初心者でも導入しやすく扱いやすいため、世界的に人気の高いデータベース管理システムです。
データベースへのデータの保存方法には「リレーショナルデータベース」と「クライアントサーバーモデル」があり、それら両方の特性を備えています。
リレーショナルデータベースとは、テーブルという表形式の構造でデータを保管する保存形式です。「MySQL」は、このリレーショナルデータベースが使用されています。テーブルは列と行で構成されており、呼び方は列が「カラム」で行が「レコード」です。
それぞれのカラムは文字列で整数などのデータ型をもっており、各レコードによってひとまとめのデータとして扱われます。リレーショナルデータベースはさまざまなシステムやアプリケーションで使用されており、データの整理・保管・削除・検索などを効率よくできる保存形式です。
クライアントサーバーモデルとは、サーバーとそのサーバーを使用するクライアントに分けて通信するモデルです。「MySQL」では、このクライアントサーバーモデルも採用されています。
実際にデータが保存されているサーバーに、クライアント側からリクエストを送りデータにアクセスすることでデータを取得します。そのため、クライアントは少ない負担で「MySQL」の利用が可能です。
クライアントサーバーモデルも、さまざまなシステムやアプリケーションに適応しています。
「Python」で「MySQL」を操作するための事前準備は、以下のとおりです。
ここからは、これらの手順について解説していきます。
はじめに、接続用のドライバーをインストールしましょう。「Python」から「MySQL」に接続するには、「mysqlclient」という接続用のドライバーが必要です。なお、「mysqlclient」のインストールは、「Python」経由でおこないます。
「mysqlclient」のインストールは、Windowsはコマンドプロンプトで、Macはターミナルで実施します。
コマンドプロンプトかターミナルを開いて、以下のコマンドを入力してください。
pip install mysqlclient
コマンドを入力した際、「OSError: mysql_config not found」などのメッセージが表示され、インストールが失敗することがあります。
この場合、考えられる原因としてmysql-develなどの「MySQL」のソフトが正常に導入されていないケースがあります。その場合は、「MySQL」や関連ソフトを再インストールしてから、mysqlclientをインストールしてみてください。
次に、「Python」で操作するためのデータベースを「MySQL」サーバで作成しましょう。XAMPPやMAMPなどでローカルサーバーを起動し、コマンドプロンプトかターミナルで以下のコマンドを入力してください。
mysql -u root -p
すると、rootユーザーのパスワードが求められるので入力します。初期設定の場合、パスワードも「root」になっていることが多いです。
「MySQL」にログインできたら、以下のコマンドを入力することで「python_db」という名前のデータベースを作成できます。
CREATE DATABASE python_db;
「Python」を使用することで、「MySQL」を以下のように操作できます。
ここからは、操作方法について詳しく解説していきます。
はじめに、「Python」を使用して「MySQL」のテーブルを作成してみましょう。create_sweets_table.pyという名前のファイルを作成し、以下のコードを入力してください。
import mysql.connector db=mysql.connector.connect(host="localhost", user="root", password="root") cursor=db.cursor() cursor.execute("USE python_db") db.commit() cursor.execute("""CREATE TABLE IF NOT EXISTS sweets_table( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, sweets VARCHAR(32), value INT);""") db.commit()
コードを入力したら、以下のコマンドを入力し「Python」ファイルを実行しましょう。
python create_sweets_table.py
実行したら「MySQL」にログインし、「USE python_db;」から「show tables;」の順にコマンドを入力してください。一覧にsweets_tableが表示されたら、テーブルが作成されています。
次に、「Python」を使用してテーブルにデータを挿入してみましょう。「Python」ファイルを作成し、以下のコードを入力してください。
import mysql.connector db=mysql.connector.connect(host="localhost", user="root", password="root") cursor=db.cursor() cursor.execute("USE python_db") db.commit() sql = "INSERT INTO sweets_table (sweets, value) VALUES (%s, %s);" fruit_list = [ ("cake", 100), ("chocolate", 120), ("gummy", 150), ("parfait", 110) ] for sweets in sweets_list: cursor.execute(sql, fruit) db.commit()
コードを入力したら、ファイルを実行しましょう。その後「MySQL」にログインし、「USE python_db;」から「SELECT * FROM sweets_table;」の順にコマンドを入力してください。sweets_listで指定した要素が表示されれば成功です。
「Python」から、テーブル内のデータ確認もできます。「Python」ファイルを作成し、以下のコードを入力してください。
import mysql.connector db=mysql.connector.connect(host="localhost", user="root", password="root") cursor=db.cursor() cursor.execute("USE python_db") db.commit() cursor.execute('SELECT * FROM sweets_table') rows = cursor.fetchall() for i in rows: print(i)
ファイルを実行すると、画面上にデータのリストが表示されます。
次に、テーブル内のデータを更新してみましょう。「Python」ファイルを作成し、以下のコードを入力してください。
import mysql.connector db=mysql.connector.connect(host="localhost", user="root", password="root") cursor=db.cursor() cursor.execute("USE python_db") db.commit() cursor.execute('UPDATE sweets_table SET value=500 WHERE fruits="chocolate"') db.commit() cursor.execute('SELECT * FROM sweets_table') rows = cursor.fetchall() for i in rows: print(i)
このファイルを実行することで、bananaのvalueが500に変わり、画面上に出力されます。
データの削除も、先ほどとほぼ同じ手順でおこなえます。「Python」ファイルを作成し、以下のコードを入力してください。
import mysql.connector db=mysql.connector.connect(host="localhost", user="root", password="root") cursor=db.cursor() cursor.execute("USE python_db") db.commit() cursor.execute('DELETE FROM sweets_table WHERE fruits="chocolate"') db.commit() cursor.execute('SELECT * FROM sweets_table') rows = cursor.fetchall() for i in rows: print(i)
このファイルを実行することで、テーブルからbananaが削除され結果が画面に出力されます。
「Python」から「MySQL」を扱う際には、変数も使用できます。
import mysql.connector db=mysql.connector.connect(host="localhost", user="root", password="root") cursor=db.cursor() cursor.execute("USE python_db") db.commit() value = 500 fruit = "chocolate" sql = "UPDATE sweets_table SET value = %s WHERE fruits = %s" cursor.execute(sql,(value,fruit)) db.commit()
このように、%sを使用しexecute関数に引数を指定することで、変数の値をSQL文に反映させられます。
最後に、データベースの接続からテーブルを作成しデータを追加して、一覧の表示までをひとつのコードにまとめます。
import mysql.connector # MySQLへの接続 db=mysql.connector.connect(host="localhost", user="root", password="root") cursor=db.cursor() # データベースの選択 cursor.execute("USE python_db") db.commit() # テーブルの作成 cursor.execute("""CREATE TABLE IF NOT EXISTS fruits_table( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, fruits VARCHAR(32), value INT);""") db.commit() # データの挿入 sql = "INSERT INTO sweets_table (sweets, value) VALUES (%s, %s);" fruit_list = [ ("cake", 100), ("chocolate", 120), ("gummy", 150), ("parfait", 110) ] for sweets in sweets_list: cursor.execute(sql, fruit) db.commit() #データの表示 cursor.execute('SELECT * FROM sweets_table') rows = cursor.fetchall() for i in rows: print(i)
このように、「Python」を使うことで「MySQL」をさまざまな形で操作できます。
世界でもっとも利用されているデータベース管理システムの「MySQL」は、高い実用性を持ちながらも無料で使用できる世界的にも人気のシステムです。
「MySQL」は、「Python」を使用することでも操作でき、「Python」でアプリケーションを作成した際にも手軽に「MySQL」の扱いができます。ぜひ「Python」と「MySQL」を習得し、データベースの操作や管理をしてみてください。
2024.06.17
子供におすすめのプログラミングスクール10選!学習メリットや教室選びのコツも紹介
#プログラミングスクール
2022.01.06
【完全版】大学生におすすめのプログラミングスクール13選!選ぶコツも詳しく解説
#プログラミングスクール
2024.01.26
【未経験でも転職可】30代におすすめプログラミングスクール8選!
#プログラミングスクール
2024.01.26
初心者必見!独学のJava学習方法とおすすめ本、アプリを詳しく解説
#JAVA
2024.01.26
忙しい社会人におすすめプログラミングスクール15選!失敗しない選び方も詳しく解説
#プログラミングスクール
2022.01.06
【無料あり】大阪のおすすめプログラミングスクール14選!スクール選びのコツも紹介
#プログラミングスクール
2024.01.26
【目的別】東京のおすすめプログラミングスクール20選!スクール選びのコツも徹底解説
#プログラミングスクール
2024.01.26
【無料あり】福岡のおすすめプログラミングスクール13選!選び方も詳しく解説
#プログラミングスクール
2024.01.26
【徹底比較】名古屋のおすすめプログラミングスクール13選!選び方も詳しく解説
#プログラミングスクール
2024.01.26
【徹底比較】おすすめのプログラミングスクール18選!失敗しない選び方も徹底解説
#プログラミングスクール