データベース操作(検索/更新系SQL/プリペア/トランザクション) [Python]
1. MySQLのインストール
MySQLの準備ができていない方はMySQLのインストールからコマンド操作(ユーザ/データベース/テーブルの作成)を参考にインストールして下さい。
この記事で使用するデータベース、テーブルは次の通りです。
| データベース | sample_db |
| テーブル | mst_dummy |
※適宜、自分の環境に合わせて下さい。
2. MySQL Connector/Pythonのインストール
AnacondaからMySQLの公式ライブラリである「MySQL Connector/Python」(mysql-connector-python)をインストールしてPythonで利用できるようにします。
Anaconda Promptを起動します。
次のコマンドを実行します。 アナコンダ公式より抜粋
conda install -c anaconda mysql-connector-python
途中で「Proceed([y]/n)?」が表示されますので、Yキーを押します。
...
Anaconda Navigatorが起動している場合は再起動します。次に左メニューのEnvironmentsを選択して、一番右に「sql」を入力したらmysql-connector-pythonが表示されればOKです。
次章からSQLとなります。
3. SELECT文(検索系SQL)
import mysql.connector
try:
# DB接続
db = mysql.connector.connect(user='test', password='1234567890',
host='localhost', database= 'sample_db')
# SQL(プリペアドステートメント)
sql = "SELECT no,title FROM mst_dummy;"
# SQLの実行
cursor = db.cursor()
cursor.execute(sql)
# データの取得
rows = cursor.fetchall()
for i in rows:
print(i[0], i[1])
finally:
cursor.close()
db.close()
# 以下、結果
1 プチモンテ
2 かきくけこ
mysql.connector.connect(接続引数)はMySQL公式を参照。
4. INSERT/UPDATE/DELETE文(更新系SQL)、プリペアドステートメント、トランザクション
この例ではUPDATE文ですがINSERT/DELETE文でも同様です。
import mysql.connector
try:
# DB接続
db = mysql.connector.connect(user='test', password='1234567890',
host='localhost', database= 'sample_db')
# トランザクションの開始
db.autocommit = False
# SQL(プリペアドステートメント)
sql = "UPDATE mst_dummy set title=? WHERE no=?;"
# SQLの実行
cursor = db.cursor(prepared=True)
cursor.execute(sql,("プチモンテ",1,))
# コミット
db.commit()
except:
db.rollback()
finally:
cursor.close()
db.close()
スポンサーリンク
関連記事
公開日:2018年07月10日 最終更新日:2018年08月24日
記事NO:02698
プチモンテ ※この記事を書いた人
![]() | |
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
| 🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は抒情詩、抒情的な楽曲が多い。楽曲制作は🔰2023年12月中旬 ~ | |









