python: MySQLをインストールしてDB操作を行ってみる

プログラミング
スポンサーリンク




こんにちは、おみです。

pythonでMySQLを操作するための手順をまとめてみました。

今回は、テーブルを作成してデータの追加を行うところまで行います。

スポンサーリンク

環境

  • macOS: Catalina 10.15.4
  • python: 3.7.4

下準備

MySQLのインストールに、「HomeBrew」というソフトウェアを使用します。

導入していない方は、下記ページよりインストールしてください。

https://moimoiblog.com/tool-install/install-homebrew/

MySQLをインストール

ターミナルを開き、下記のコマンドを実行するとインストールができます。

$ brew install mysql

起動するときは

$ mysql.server start

停止するときは

$ mysql.server stop

とターミナルに入力します。

MySQLを起動させておかないと、接続やSQL文の実行はできない←重要。よく忘れる

ので、プログラムの実行前には起動しているかを確認しましょう。

モジュールをインストール

pythonでMySQLに接続するためのモジュールをインストールします。

$ pip install mysql-connector-python

インポートする際は、

import mysql

と記述します。

DB作成

インストールしたばかりのMySQLにはDBが存在しないので、作成する必要があります。

コネクターを生成する

pythonからMySQLに接続するためのコネクターを生成します。

con = mysql.connector.connect(host="IPアドレス", user="ユーザー名", password="パスワード")

カーソルを生成する

MySQLをいじるためのカーソルを生成します。

cursor = con.cursor()

SQL文を実行する

SQL文を実行し、DBを作成します。

cursor.execute("CREATE DATABASE文")

(例)”example_db”というDBの作成は、以下のソースで行う事ができます。

# モジュールのインポート
import mysql.connector

# コネクターの生成
con = mysql.connector.connect(host="127.0.0.1", user="root", password="")

# カーソルの生成
cursor = con.cursor()

# SQL文の実行
cursor.execute("CREATE DATABASE example_db")

# 終了処理
con.close()
cursor.close()

mysql.connector.connectの引数は、

  • host … “127.0.0.1”(ループバックアドレス)
  • user … “root”(初期ユーザーのユーザー名)
  • password … “”(初期ユーザーのパスワード)

を指定しています。

コネクターとカーソルは、プログラムの最後で閉じてあげましょう。

テーブル作成、データ追加

“example_db”に、テーブルを作成してデータの追加を行います。

コネクターを生成する

pythonからMySQLに接続するためのコネクターを生成します。

example_db_con = mysql.connector.connect(host="IPアドレス", user="ユーザー名", password="パスワード", database="データベース名")

カーソルを生成する

MySQLをいじるためのカーソルを生成します。

example_db_cursor = example_db_con.cursor()

SQL文を実行する

SQL文を実行し、テーブルの作成、データの追加を行います。

# テーブルを作成
example_db_cursor.execute("CREATE TABLE文")
# データを追加
example_db_cursor.execute('INSERT INTO文')

(例)”books”というテーブルを作成、データの追加は以下のソースで行う事ができます。

import mysql.connector

# コネクターの生成
example_db_con = mysql.connector.connect(host="127.0.0.1", user="root", password="", database="example_db")

# カーソルの生成
example_db_cursor = example_db_con.cursor()

# SQL文の実行
example_db_cursor("CREATE TABLE books("
                        "id int NOT NULL AUTO_INCREMENT,"
                        "name varchar(20) NOT NULL,"
                        "PRIMARY KEY(id))")

example_db_cursor.execute('INSERT INTO books(name) values("HANTER×HANTER")')

# 処理を確定する
example_db_con.commit()

# 終了処理
example_db_con.close()
example_db_cursor.close()

おすすめの書籍

SQLの第一人者であるジョー・セルコの名著『Joe Celkos SQL for Smarties, Fourth Edition: Advanced SQL Programming』の日本語版です。SQLプログラミングの基礎的な考え方から、テーブル操作、グループ化、集計関数、クエリの最適化など、ワンランク上を目指す上で欠かせない技術を学ぶ事ができます。

コメント

タイトルとURLをコピーしました