之前寫過一篇 Python使用MySQL資料庫的博客,主要使用的是Python2和MySQLdb驅動。 python使用mysql資料庫 Python2 > Python3 MySQLdb --> PyMySQL 一,安裝PyMySQL Python是編程語言,MySQL是資料庫,它們是兩種不同的技 ...
之前寫過一篇 Python使用MySQL資料庫的博客,主要使用的是Python2和MySQLdb驅動。
python使用mysql資料庫
- 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 ('[email protected]', '123456')"
cursor.execute(sql)
# 提交SQL
connection.commit()
不管你使用的是什麼工具或庫,連接資料庫這一步必不可少。host為資料庫的主機IP地址,port為MySQL的預設埠號,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`='[email protected]'"
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}