標籤:str 執行 32位 ack title alt exec 重複執行 test
安裝mysqlclient
要想使 python 可以操作 mysql 就需要 MySQLdb 驅動,它是 python 操作 mysql 必不可少的模組。
使用pip安裝
pip install mysqlclient
安裝出錯
在此網站下載mysqlclient安裝包:https://www.lfd.uci.edu/~gohlke/pythonlibs/# 進行本地安裝
以下是從這個網站上面檢索到的mysqlclient的所有版本
cp37代表python3.7的版本,win32代表32位的系統,所以需要選擇正確,否則安裝過程會報錯平台不匹配。
在命令列中進入安裝檔案所在路徑運行命令:pip install mysqlclient?1.3.13?cp37?cp37m?win_amd64.whl(所下載檔案全稱)
測試
測試非常簡單,檢查 MySQLdb 模組是否可以正常匯入。
>>> import MySQLdb
沒有報錯提示MySQLdb模組找不到,說明安裝OK
python 操作mysql資料庫基礎
#coding=utf-8import MySQLdb#connect() 方法用於建立資料庫的串連,裡面可以指定參數:使用者名稱,密碼,主機等資訊。#這隻是串連到了資料庫,要想操作資料庫需要建立遊標。conn= MySQLdb.connect( host=‘localhost‘, port = 3306, user=‘root‘, passwd=‘123456‘, db =‘test‘, )#通過擷取到的資料庫連接conn下的cursor()方法來建立遊標。cur = conn.cursor()#建立資料表,通過遊標cur 操作execute()方法可以寫入純sql語句。通過execute()方法中寫如sql語句來對資料進行操作cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))")#插入一條資料cur.execute("insert into student values(‘2‘,‘Tom‘,‘3 year 2 class‘,‘9‘)")#修改查詢條件的資料cur.execute("update student set class=‘3 year 1 class‘ where name = ‘Tom‘")#刪除查詢條件的資料cur.execute("delete from student where age=‘9‘")#cur.close() 關閉遊標cur.close()#conn.commit()方法在提交事物,在向資料庫插入一條資料時必須要有這個方法,否則資料不會被真正的插入。conn.commit()#conn.close()關閉資料庫連接conn.close()
插入資料
通過上面execute()方法中寫入純的sql語句來插入資料並不方便。如:
cur.execute("insert into student values(‘2‘,‘Tom‘,‘3 year 2 class‘,‘9‘)")
我要想插入新的資料,必須要對這條語句中的值做修改。我們可以做如下修改:
#coding=utf-8import MySQLdbconn= MySQLdb.connect( host=‘localhost‘, port = 3306, user=‘root‘, passwd=‘123456‘, db =‘test‘, )cur = conn.cursor()#插入一條資料sqli="insert into student values(%s,%s,%s,%s)"cur.execute(sqli,(‘3‘,‘Huhu‘,‘2 year 1 class‘,‘7‘))cur.close()conn.commit()conn.close()
假如要一次向資料表中插入多條值呢?
#coding=utf-8import MySQLdbconn= MySQLdb.connect( host=‘localhost‘, port = 3306, user=‘root‘, passwd=‘123456‘, db =‘test‘, )cur = conn.cursor()#一次插入多條記錄sqli="insert into student values(%s,%s,%s,%s)"cur.executemany(sqli,[ (‘3‘,‘Tom‘,‘1 year 1 class‘,‘6‘), (‘3‘,‘Jack‘,‘2 year 1 class‘,‘7‘), (‘3‘,‘Yaheng‘,‘2 year 2 class‘,‘7‘), ])cur.close()conn.commit()conn.close()
executemany()方法可以一次插入多條值,執行單挑sql語句,但是重複執行參數列表裡的參數,傳回值為受影響的行數。
Python3串連MySQL資料庫之mysql-client