通常我們是不建議直接查看數據庫內容來檢查功能的,但是在沒有外部接口或者圖形界面驗證的情況下,只能通過查詢數據庫來驗證。
比如我們手工需要從界面上添加一萬條數據,估計要花好幾天時間,顯然不能手工去操作。那么有一種方法就是:直接操作數據庫,把數據插入到表中。
通常我們的應用程序和數據庫服務都不在一台機器上,所以需要通過網絡請求來訪問。
服務端:
數據庫服務進程:負責網絡通訊,傳遞數據信息,將數據庫訪問命令傳遞給DB。
DB:對應具體的數據庫,通常表現形式為磁盤上的數據庫文件,內部存儲數據庫信息。
客戶端:
APP:訪問數據庫的應用程序,
Driver:負責聯通APP與數據庫服務之間的聯通,相當於溝通橋梁。
Python代碼操作數據庫:
pymysql庫是在python3.x的版中用於連接mysql服務器的一個庫;MySQLdb庫則是在python2中使用。
在windows平台下,直接 pip install PyMySQL
先可以用第三方工具連接到數據庫,或者要求開發告知連接數據庫的一些信息。比如:主機名或IP、用戶名、密碼、端口等信息。
這樣就可以連接數據庫了:
① 首先導入包 import pymysql
① 創建一個連接對象 db = pymysql.connect(host='127.0.0.1', # 主機名或IP地址
port=3306, # 端口 默認一般為3306
user='xxxx', # 用戶名
password='xxxx', # 密碼
db='xxxx') # 數據庫名
② 使用cursor()創建一個游標對象 c = db.cursor()
③ 增刪改查數據庫內容 ---- 通過游標來執行sql語句
c.execute("select * from sq_course") # 查詢語句
c.execute("insert into sq_course(name, `desc`, display_idx )") values('數學', ‘數學課’, 10) # 增加語句
c.execute("update sq_course set name = '語文' where name = '數學' ") # 修改語句
c.execute("delete from sq_course where name = '數學'") # 刪除語句
注意:所有對數據庫修改的動作,必須commit提交才會生效
rollback() 回滾當前事務 與conmit相反 可以理解成撤回的意思
④ 取出查詢到的數據可以用以下方法:
c.fetchall() # 查詢所有的數據
c.fetchone() # 查詢一條數據
c.fetchmany(3) # 查詢多條數據,參數是多少條
⑤ 關閉數據庫連接 db.close
代碼實例: