Python3串連MySQL資料庫之mysql-client

來源:互聯網
上載者:User

標籤: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‘)")
  • 1

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

#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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.