スポンサーリンク

【Python】MySQLに接続し、テーブル作成・データ確認・追加を行う方法をご紹介。

Python
スポンサーリンク

今回の記事ではPythonで自身のPCにインストールしたMySQLに接続し、テーブルの作成・データ確認・追加を行う方法をご紹介する記事です。その際に起きるモジュールインポートエラーなど回避する方法も合わせて記載しているので初心者でも操作可能となっております。是非参考にして見て下さい。

スポンサーリンク

Python環境の構築とMySQLでデータベース作成

まずはMySQLにデータベースを作成する必要があるのでそちらを作成します。MySQLはターミナルやCMDから操作できるので下記実行でデータベースは作成しておきましょう。

mysql.server start
MySQLサーバの起動

mysql -u root -p
パスワード打つ

create database python_db;
ここ基本大文字表記ですが別に小文字でもクエリ実行は可能です。

次にPythonの仮想環境を作成し、MySQLに接続するためのPython環境を作成していきます。仮想環境など必要ない方はこの工程はなしでもOKです。ただし、Pythonを扱う上で、仮想環境でライブラリを管理するとかなり便利なのでなるべく仮想環境を作成して下さい。Anacondaの方はAnaconda Navigatorから仮想環境を作成できます。

その仮想環境上で今回使用するmysqlclientをpipでインストールして使用していきます。
理由としてVerの違いなのか仮想環境を作らずにローカルにpipインストールしたものだとモジュールがうまくインストールできずエラーになったからです。

適当なフォルダ上で仮想環境作成

pyvenv test_env
source test/bin/activate
これで仮想環境に入ります。

touch test.py
pythonファイルの作成
このファイル上に下記のコードを書いてみましょう。

では次にMySQLに接続して見ましょう。

MySQLに接続し、テーブル作成・データ確認・追加

import MySQLdb
 
# データベースへの接続とカーソルの生成
connection = MySQLdb.connect(
    host='localhost',
    user='root',
    passwd='自身の設定したもの',
    db='python_db',
    charset='utf8'
)
cursor = connection.cursor()
 
# テーブルの初期化
cursor.execute("DROP TABLE IF EXISTS name_age_list")
 
# テーブルの作成
cursor.execute("""CREATE TABLE name_age_list(
    id INT(11) AUTO_INCREMENT NOT NULL, 
    name VARCHAR(30) NOT NULL COLLATE utf8mb4_unicode_ci, 
    age INT(3) NOT NULL,
    PRIMARY KEY (id)
    )""")
 
# データの追加
cursor.execute("""INSERT INTO name_age_list (name, age)
    VALUES ('test1', '1'),
    ('test2', '2'),
    ('test3', '3')
    """)
 
# 一覧の表示
cursor.execute("SELECT * FROM name_age_list")
 
for row in cursor:
    print(row)
 
 
# 保存を実行
connection.commit()
 
# 接続を閉じる
connection.close()

ここで大切なものはデータベースの接続とカーソルの生成です。まず、接続をした上でデータの確認・追加などが行えるようになります。接続に必要な情報を記載していれば問題ないです。そしてcursor.excuteの後ろのカッコの中にSQLクエリを記載していけば良いです。要はSQLを操作するクエリをターミナルなどではなくcursor.excuteのカッコの中に記載するだけです。

Pythonファイル実行

ターミナルからの実行でかきの表示が出るはずです。

python test.py

test1 1
test2 2
test3 3



では今回の記事は以上です。他にも多数のPython関連の記事を記載しているのでぜひ参考にして見て下さい。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Python
スポンサーリンク
スポンサーリンク

コメント

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