SQLの窓

2018年04月09日


Eclipse + Python(Pydev) : MySQL Connector/Python でループ処理をしながら更新

前提条件

Eclipse は Pleiades Eclipse 4.7 Oxygen です。前提となる環境は以下を参照して下さい。

Pleiades Eclipse 4.7 Oxygen 2 Windows 64bit Ultimate Full Edition のインストールといろいろな準備
Pleiades Oxygen 2 の XAMPP 内の MySQL を利用可能にしてテストデータ(販売管理)を登録する

▼ プロジェクトの作成方法と Connector/Python のインストールはこちらを参照して下さい
Pleiades Eclipse 4.7 Oxygen で Python を使って MySQL にアクセスする

update.py
'''
****************
Pydev パッケージ無し
****************
'''

import mysql.connector
import pprint

import sql_string

''' PHP の関数名を使ってます => print_r '''
print_r = pprint.PrettyPrinter(indent=4)

''' 読み込み用 '''
cnn = mysql.connector.connect(
	host='localhost',
	port=3306,
	db='lightbox',
	user='root',
	passwd='',
	charset="utf8")

cursor = cnn.cursor()

''' 更新用 '''
cnn2 = mysql.connector.connect(
	host='localhost',
	port=3306,
	db='lightbox',
	user='root',
	passwd='',
	charset="utf8",
	autocommit='True')

cursor2 = cnn2.cursor()

'''
****************
行単位でアクセス
****************
'''
cursor.execute(sql_string.query)

for row in cursor:
	print_r.pprint(row)

	update_sql = ( "update 社員マスタ set 管理者 = %s where 社員コード = %s " );
	cursor2.execute( update_sql, ( '0001', row[0] ) )

''' 更新用 '''
cursor2.close()
cnn2.close()

''' 読み込み用 '''
cursor.close()
cnn.close()


sql_string.py
query = "select * from 社員マスタ where 社員コード <= '0004' "

一般的な使い方通り、読み込みと更新では接続を分けています。更新用の接続では、デフォルトでは autocommit が False なので True にして接続しています。

▼ MySQL 公式ドキュメント
Connector/Python Connection Arguments

エディタのタブ設定



エディタの # コメント色

デフォルトが灰色で見にくいので濃い緑を使用しました






posted by lightbox at 2018-04-09 12:05 | Python | このブログの読者になる | 更新情報をチェックする
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり