上一篇咱們已經把開發前的環境准備好了,還需要再做一點准備,你的賬戶信息是存在哪的呢,當然是存在數據庫里的,咱們在去支付,扣錢的時候,肯定是從數據庫里面操作的,去更新賬戶表里面的數據,所以咱們先要把數據庫准備好,建好賬戶表,初始化幾條賬戶信息,這樣才能完整的把這個mock接口給完成。
這篇咱們就學習一下python怎么操作數據庫,怎么執行sql,數據庫使用sqlite,sqlite是一個跨平台開源的輕量級關系型數據庫,不需要配置和安裝直接就可以使用,sql語句和mysql、sqlserver、oracle等數據庫都是一樣的。
首先創建一個數據庫,然后把賬戶表創建好,插入幾條初始化數據,這里要用到navicat這個工具,或者其他sqlite可視化工具也可以,navicat安裝包連接為 http://pan.baidu.com/s/1eRArvAM ,打開navicat后連接選擇sqlite,然后選擇新建SQLite3數據庫,選擇一個路徑,輸入數據庫名字就把數據庫創建好了,然后選擇剛才新建的數據庫,新建查詢,執行sql就可以了,截圖看下面。
創建數據庫
執行sql
數據庫的初始化准備已經做好了,下面就要建表和插入一些初始數據,要不然寫接口的時候沒數據測試了,支付肯定是操作的賬戶表,所以要創建賬戶表,里面得有賬戶id,用戶id和用戶的余額這三個字段,表結構也設計好了,然后出入一點數據,方便后面自測的時候使用,sql如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
-- 建表的sql
CREATE TABLE "accounts" (
"account_id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"user_id" INTEGER,
"money" INTEGER
);
-- 插入數據的sql
INSERT INTO "accounts" ("user_id", "money") VALUES (1, 1111.98);
INSERT INTO "accounts" ("user_id", "money") VALUES (2, 981);
INSERT INTO "accounts" ("user_id", "money") VALUES (8, 8888);
INSERT INTO "accounts" ("user_id", "money") VALUES (9, 889211.1);
INSERT INTO "accounts" ("user_id", "money") VALUES (19, 1.2);
|
表結構也創建好了,數據也有了,下面就要使用python來操作數據庫了,很簡單,就是執行sql而已,代碼如下,每行都加了注釋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#s.py
import sqlite3
#操作sqlite使用sqlite3模塊,上面是導入這個模塊
db = sqlite3.connect('my.db')
#連接數據庫,指定數據庫的路徑,如果數據庫的路徑和這個python文件在同一個路徑下的話,直接寫名字就可以了
#如果不在同一個路徑的話,就寫數據庫文件的絕對路徑,例如這樣的C:\Users\Sabri\Desktop\my.db
course = db.cursor()
#創建游標,就相當於創建一個數據庫里面的工作人員去工作,從數據庫里拿東西改東西一樣
course.execute('select * from accounts;')
#游標執行sql語句,相當於讓剛才創建的那個工作人員去執行sql語句
res = course.fetchall()
#獲取sql執行結果,保存到res里面,res里面就是sql的執行結果
print(res)
#打印結果
course.close()
#關閉游標
db.commit()
#提交數據庫事物,如果是update、insert、delete語句的話需要commit一下才可以生效,select不需要
db.close()
#做人有始有終,有打開就有關閉,關閉數據庫連接
|
本篇咱們學習sqlite的簡單使用以及python怎么操作SQLite,每天進步一點點,快去試試吧,下篇咱們正式開始寫接口