Python3連接MySQL數據庫之mysql-client


安裝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-8 import 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')")
  • 1

我要想插入新的數據,必須要對這條語句中的值做修改。我們可以做如下修改:

#coding=utf-8 import MySQLdb conn= 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-8 import MySQLdb conn= 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語句,但是重復執行參數列表里的參數,返回值為受影響的行數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM