Python使用MySQL數據庫(新)


  之前寫過一篇 Python使用MySQL數據庫的博客,主要使用的是Python2MySQLdb驅動。

  python使用mysql數據庫

  然而,2016年開始,我從Python2切換到了Python3Python2已經基本不再使用,MySQLdb驅動從20141月停止了維護。所以,打算重新再來寫這篇博客。

  • Python2 ---> Python3
  • MySQLdb --> PyMySQL

 

,安裝PyMySQL

Python是編程語言,MySQL是數據庫,它們是兩種不同的技術;要想使Python操作MySQL數據庫需要使用驅動。這里選用PyMySQL驅動。下載地址:

https://pypi.python.org/pypi/PyMySQL

https://github.com/PyMySQL/PyMySQL

當然,最簡單的安裝方式還是使用pip命令。

> pip install  PyMySQL

把install 換成show命令,查看PyMySQL安裝是否成功。

 

 

二,創建MySQL

執行下面的SQL語句,創建一張users 表。

CREATE TABLE `users` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `email` VARCHAR(255) COLLATE utf8_bin NOT NULL,
    `password` VARCHAR(255) COLLATE utf8_bin NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
AUTO_INCREMENT=1 ;

 

 

三,Python操作MySQL

接下來才是重點,Python操作MySQL數據庫。

4.1插入數據:

import pymysql.cursors # 連接MySQL數據庫
connection = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='198876', db='guest', 
charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) # 通過cursor創建游標 cursor = connection.cursor() # 創建sql 語句,並執行 sql = "INSERT INTO `users` (`email`, `password`) VALUES ('huzhiheng@itest.info', '123456')" cursor.execute(sql) # 提交SQL connection.commit()

  不管你使用的是什么工具或庫,連接數據庫這一步必不可少。host為數據庫的主機IP地址,portMySQL的默認端口號,user為數據的用戶名,password為數據庫的登錄密碼,db為數據庫的名稱。

  cursor()方法創建數據庫游標。

  execute()方法執行SQL語句。

  commit()將數據庫的操作真正的提交到數據。

 

4.2. 查詢數據

import pymysql.cursors # 連接MySQL數據庫
connection = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='198876', db='guest', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) # 通過cursor創建游標
cursor = connection.cursor() # 執行數據查詢
sql = "SELECT `id`, `password` FROM `users` WHERE `email`='huzhiheng@itest.info'" cursor.execute(sql) #查詢數據庫單條數據
result = cursor.fetchone() print(result) print("-----------華麗分割線------------") # 執行數據查詢
sql = "SELECT `id`, `password` FROM `users`" cursor.execute(sql) #查詢數據庫多條數據
result = cursor.fetchall() for data in result: print(data) # 關閉數據連接
connection.close()

   接下來的操作就是數據庫的查詢了。

  fetchone() 用於查詢單條數據。

  fetchall() 用於查詢多條數據。

  close() 最后不要忘記了關閉數據連接。

  運行結果:

{'password': '123456', 'id': 1}
-----------華麗分割線------------
{'password': '123456', 'id': 1}
{'password': '654321', 'id': 2}

 


免責聲明!

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



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