【Python】Python で MySQLを使う

■ 実行環境

 * OS : Windows10
 * DB : MySQL8.0.12
 * Python : Python 3.7.0

PyMySQL のインスール

以下を実行する
pip3 install PyMySQL

■ サンプル

DBデータ

CREATE SCHEMA `sample_db` ;

CREATE TABLE `person` (
  `id` bigint(12) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

INSERT INTO `sample_db`.`person` (`name`) VALUES ('Mike');
INSERT INTO `sample_db`.`person` (`name`) VALUES ('Tom');
INSERT INTO `sample_db`.`person` (`name`) VALUES ('Sam');
INSERT INTO `sample_db`.`person` (`name`) VALUES ('Kevin');

mysql-demo.py

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import pymysql

print("Hello World")

connection = pymysql.connect(
  host="localhost",
  db="sample_db",
  user="root",
  password="password",
  charset="utf8",
  cursorclass=pymysql.cursors.DictCursor
)

cursor = connection.cursor()
cursor.execute("SELECT * FROM person")
people = cursor.fetchall()

cursor.close()
connection.close()

for person in people:
  print("ID : " + str(person["id"]) + " Name : " + person["name"])

動作確認

# 実行コマンド
python mysql-demo.py

関連記事

Webフレームワーク 「Flask」 ~ MySQLを使う ~

https://blogs.yahoo.co.jp/dk521123/37745178.html

Webフレームワーク 「Flask」 ~ SQLAlchemyでMySQLを操作する ~

https://blogs.yahoo.co.jp/dk521123/37745238.html