バナー画像

Web開発で最も人気のある言語といえばPythonです。

WebアプリケーションにPythonを使用している方も多いのではないでしょうか。

Webアプリケーション + MySQLデータベースは開発では必須の環境です。

そこで今回はこのPythonでMySQLを使用する方法について簡単に解説してみたいと思います。

環境を整える

MySQLとPythonを連結させる前にまずは下準備をしておきましょう。

windows 10では公式にUbuntuが利用できますので、今回はUbuntuを使っての操作で説明します。

まずUbuntuで以下のコマンドを実行してください。

mysql -u root -p

MySQLがpasswordを求めてくるので入力して次へ進みます。

次にデータベースを作成しましょう。

作成するには次のコマンドを実行します。

CREATE DATABASE test_db;

下準備はこれで整いましたが、これと同時進行で念のためにPythonのライブラリもインストールしておきましょう。

ターミナルで以下のコマンドを実行することでライブラリをインストールすることが出来ます。

pip install mysql-connector-python

これで全ての下準備は整いました。

Pythonを使ってテーブルを作成

ここからはPythonに慣れていただくためにPythonを使っていきます。

まずはテーブルを作成してみましょう。

テーブルの作成は以下のコードで可能です。

import mysql.connector

db=mysql.connector.connect(host="利用中のホスト", user="test_user", password="設定したパスワード")
cursor=db.cursor()
cursor.execute("use sample_db")

db.commit()

cursor.execute("""create table if not exists test_table(
                id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
                name VARCHAR(32),
                age INT);""")

db.commit()

このコードを実行したら、確認のためにMySQLのシェルから以下のコードを実行してみましょう。

MariaDB [sample_db]> use sample_db
Database changed
MariaDB [sample_db]> show tables;
+---------------------+
| Tables_in_sample_db |
+---------------------+
| test_table          |
+---------------------+
1 row in set (0.000 sec)

先ほど作成したテーブルが表示されれば完了です。

INSERTを使ってデータを挿入する

次の操作ではINSERT文を使用し、いくつかのデータを挿入してみましょう。

以下のコードを参考にして実行してみてください。

import mysql.connector

db=mysql.connector.connect(host="利用中のホスト", user="test_user", password="設定したパスワード")
cursor=db.cursor()

cursor.execute("use sample_db")

db.commit()
 
str_name = "insert into test_table (name, age) values (%s, %s);"
 
member_list = [
    ("Michel", 30),
    ("Alen", 24),
    ("Jonathan", 32)
]
 
for name in member_list:
    cursor.execute(str_name, name)
 
db.commit()

実行をかけたら再度MySQLのシェルから結果が反映されているかを確認してみましょう。

MariaDB [sample_db]> select * from test_table;
+----+----------+-----+
| id | name     | age |
+----+----------+-----+
|  1 | Michel   |  30 |
|  2 | Alen     |  24 |
|  3 | Jonathan |  32 |
+----+----------+-----+
3 rows in set (0.000 sec)

きちんと挿入されていることが確認できました。

SELECTを使って検索する

次はPythonを使用してデータを検索してみましょう。

今回はMySQLのシェルではなくPythonですので間違わないように注意してください。

以下のコードを参考に組み立ててみてください。

import mysql.connector
 
db=mysql.connector.connect(host="利用中のホスト", user="test_user", password="設定したパスワード")
cursor=db.cursor()

cursor.execute("use sample_db")
db.commit()

cursor.execute('select * from test_table')
rows = cursor.fetchall()

for i in rows:
    print(i)

実行結果

(1, 'Michel', 30)
(2, 'Alen', 24)
(3, 'Jonathan', 32)

MySQLと同じように呼び出せたら成功です。

UPDATEでデータを更新する

次はUPDATE文を使って更新作業をしてみましょう。

import mysql.connector
 
db=mysql.connector.connect(host="利用中のホスト", user="test_user", password="設定したパスワード")
cursor=db.cursor()
 
cursor.execute("use sample_db")
db.commit()
 
cursor.execute('update test_table set age=20 WHERE name="Alen"')
db.commit()
 
cursor.execute('select * from test_table')
rows = cursor.fetchall()
 
for i in rows:
    print(i)

実行結果

(1, 'Michel', 30)
(2, 'Alen', 20)
(3, 'Jonathan', 32)

Alenの年齢が20に更新されていることが確認できました。

DELETEでデータの削除

次はDELETEを使ってデータを削除する方法です。

ここまでくるともうお気づきの方もいらっしゃると思いますが、コードはほぼ一緒です。

import mysql.connector
 
db=mysql.connector.connect(host="利用中のホスト", user="test_user", password="設定したパスワード")
cursor=db.cursor()
 
cursor.execute("use sample_db")
db.commit()
 
cursor.execute('delete from test_table where name="Alen"')
db.commit()
 
cursor.execute('select * from test_table')
rows = cursor.fetchall()
 
for i in rows:
    print(i)

実行結果

(1, 'Michel', 30)
(3, 'Jonathan', 32)

Alenのレコードが削除されたことが確認できました。

まとめ

いかがでしたか?

今回はPythonとMySQLの連結方法について紹介しました。

Webアプリケーションの開発でPythonを選択する方は多いです。

まだ慣れていない方もこれを機に一度検討してみてもよいかもしれません。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。