MySQL數據庫進階(API的理解、Python對MySQL的接口)


本篇文章主要是關於Python對MySQL的接口API的內容,簡單來說就是在Python中調用MySQL語句來執行

一、API的理解

1、API的全稱是:應用程序編程接口

是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。——百科

2、簡單的小故事理解API:
研發人員A開發了軟件A,研發人員B正在研發軟件B。

有一天,研發人員B想要調用軟件A的部分功能來用,但是他又不想從頭看一遍軟件A的源碼和功能實現過程,怎麼辦呢?

研發人員A想了一個好主意:
我把軟件A裏你需要的功能打包好,寫成一個函數;你按照我說的流程,把這個函數放在軟件B裏,就能直接用我的功能了!
(故事來自:https://www.zhihu.com/question/38594466/answer/487039892)

二、Python對MySQL的API

1、安裝pymysql庫

pip install pymysql

pymysql其實就是一個python與MySQL的一個接口,就是在python裏面去操縱MySQL的一種方式

2、導入pymysql庫並連接上本機的MySQL賬戶

import pymysql  # 導入庫

# 連接上MySQL
conn = pymysql.connect(host='192.168.43.247', port=3306, user='root', passwd='sqlpwd', db='db_test')

3、創建一個普通遊標
創建遊標(類似光標),並綁定上關聯了MySQL的conn
遊標:cursor

cursor = conn.cursor()

4、執行MySQL的操作語句
操作:execute

# 寫MySQL的操作語句
sql = "CREATE TABLE EMPLOYEE (id INT, name VARCHAR(20))"

# 將MySQL的操作語句放進execute執行
# 操作遊標,一切關於MySQL的操作都可以放在這裏來執行
cursor.execute(sql)

5、插入數據
以上是創建了一個EMPLOYEE數據表,現在插入數據
仍然是用:execute

cursor.execute("INSERT INTO EMPLOYEE values (1,'ViewIn'),(2,'ZaHuw'),(3,'Lily')")

注意:
插入數據必須要提交一下才行,相當於創建一個對象操作完了需要關閉一下

conn.commit()
cursor.close()
conn.close()

因此,這段代碼應該放在結尾

6、查詢數據

  • 一條結果:fetchone
  • 兩條結果:fetchmany(2)
  • 所有結果:fetchall
# 如果操作後有結果,需要用一個變量來接收一下
ret= cursor.execute("select * from employee")

# 取出所有結果
print(cursor.fetchall())

這樣就能取出所有結果了

1

7、scroll光標
1)光標的relative模式:
數字1表示設置光標向下移動一步,-2表示向上移動兩步;0表示不移動
本來fetchone一下光標在id=2的位置,scroll一下就到id=3的位置了

print(cursor.fetchone())
cursor.scroll(1,mode="relative")
# 光標的relative模式
# 1表示設置光標向下移動一步,-2表示向上移動兩步;0表示不移動
# 本來fetchone一下光標在id=2的位置,scroll一下就到id=3的位置了
print(cursor.fetchone())
print("------------------------------------")

2
2)光標的absolute模式:
直接將光標跳到某個位置(按照索引來的,2表示id=3)

cursor.scroll(2,mode="absolute")
print(cursor.fetchone())

3

8、創建字典形式的遊標
字典形式的光標獲取的結果就是字典類型

cursor= conn.cursor(cursor=pymysql.cursors.DictCursor)

4

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章