1. 程式人生 > >用python使用Mysql資料庫

用python使用Mysql資料庫

一,安裝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}