投稿

ラベル(mysql)が付いた投稿を表示しています

Python + MySql で execute paramでテーブル名は渡せない

Python + MySql で execute paramでテーブル名は 渡せない そうです cur.execute( "DELETE FROM %s WHERE ( %s = %s );" , ( "myTable" , "myKey" , 10 )) # NG cur.execute( "DELETE FROM %s WHERE ( %s = %s );" % ( "myTable" , "myKey" , 10 )) # OK

Python で可変長引数を関数の戻り値で返す

Python で可変長引数を関数の戻り値で返す def db_connect_config ():      return { 'user' : 'root' , 'password' : 'passwd' , 'host' : 'localhost' , 'database' : 'myDB' } # ::: conn = mysql.connector.connect(**db_connect_config()) 利用側で **

Python で日本語を含む MySQL の select 結果を json で出力

Python で日本語を含む MySQL の select 結果を json で出力する最小限のコードをメモ Python2.7系 #!~\python2.7 # -*- coding: utf-8 -*- # utf8 output import sys import codecs sys.stdout = codecs.getwriter( 'utf_8' )(sys.stdout) # header print ( "Content-type: text/plain; charset=utf-8" ) print ( "" ) # mysql import mysql.connector import json conn = mysql.connector.connect( user = 'root' , password = 'passwd' , host = 'localhost' , database = 'myDB' ) cur = conn.cursor( dictionary = True ) try :     cur.execute( "select * from myTable;" )     rows = cur.fetchall()      print (json.dumps(rows, ensure_ascii = False )) finally :     cur.close()     conn.close() sys.stdout = codecs.getwriter('utf_8')(sys.stdout) で出力を UTF8に cursor で dictionary=True を指定することで、fetch内容に列名が入ってくるので jsonで利用しやすくなります MySQLdb を利用している場合は、cursor(MySQLdb.cursors.DictCursor) json.dumps で ensure_ascii=False を入れないと、"\u4e0d\u660e" みたいに ...

Python の mysql.connector.connect でカラム名を取得

Python の mysql.connector.connect でカラム名を取得 cursor の引き数に dictionary=True を入れる cur = conn.cursor(dictionary=True) が、カラムの並びが???→宿題