1. 程式人生 > >Python3操作mysql

Python3操作mysql

passwd sta msql %s 批量插入 pad uri 失敗 ram

python3 使用pymysql對mysql進行操作,python2則使用mysqldb

1.安裝pymysql的命令:

pip install pymsql

如果因網絡問題下載失敗,則使用如下命令指定國內源下載

pip install pymysql -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com 2.數據庫連接: import pymsql #創建連接 conn=pymysql.connect(host="localhost",port=3306,user="testuser",passwd="test123",db="TESTDB" )
#創建遊標對象: cur = conn.cursor() #關閉遊標 cur.close() #關閉連接 conn.close() 3.查詢: sql="select * from info" cur.execute(sql) #返回查詢的一條記錄 data=cur.fetchone() #返回查詢的所有結果 data=cur.fetchall() 4.插入: sql2 = "insert into info(NAME,address ) VALUES(%s,%s)" # sql語句,%s是占位符(%s是唯一的,不論什麽數據類型都使用%s)用來防止sql註入 params = (‘eric‘, ‘wuhan‘) # 參數
reCount = cur.execute(sql2, params) # 批量插入 li = [(‘a1‘, ‘b1‘), (‘a2‘, ‘b2‘)] sql3 = ‘insert into info(NAME ,address) VALUES (%s,%s)‘ reCount = cur.executemany(sql3, li) conn.commit() # 提交,執行多條命令只需要commit一次就行了 5.更改數據 sql3="update tfundinfo set c_state=‘1‘ where c_fundcode="%s" "%(m) cur.execute(sql3) conn.commit() 6.刪除數據 sql="DELETE FROM EMPLOYEE WHERE AGE > ‘%d‘" % (20)
cur.execute(sql) conn.commit() 7.查詢返回dict類型數據 #在創建遊標時,指定返回結果為dict cur=conn.cursor(cursor=pymysql.cursors.DictCursor) sql="select * from info" cur.execute(sql) #返回查詢的一條記錄 data=cur.fetchone() #返回查詢的所有結果 data=cur.fetchall()

Python3操作mysql