天天看點

Python超輕量資料庫之SQLite

歡迎關注【無量測試之道】公衆号,

Python程式設計學習資源幹貨、

Python+Appium架構APP的UI自動化、

Python+Selenium架構Web的UI自動化、

Python+Unittest架構API自動化、

文章下方有公衆号二維碼,可直接微信掃一掃關注即可。

1、什麼是 SQLite

SQLite3 可使用 sqlite3 子產品與 Python 進行內建。sqlite3 子產品是由 Gerhard Haring 編寫的。它提供了一個與 PEP 249 描述的 DB-API 2.0 規範相容的 SQL 接口。您不需要單獨安裝該子產品,因為 Python 2.5.x 以上版本預設自帶了該子產品。

2、SQLite有什麼優點

源代碼不受版權限制,真正的自由,開源和免費

無務器,不需要一個單獨的伺服器程序或者操作的系統

一個SQLite 資料庫是存儲在一個單一的跨平台的磁盤檔案

零配置,因為其本身就是一個檔案,不需要安裝或管理,輕松攜帶

不需要任何外部的依賴,所有的操作等功能全部都在自身內建

輕量級,SQLite本身是C寫的,體積很小,經常被內建到各種應用程式中

3、SQLite 的使用場景有哪些

1).    小型網站,SQLite适用于中小規模流量的網站

2).    嵌入式裝置,SQLite适用于手機, PDA, 機頂盒, 以及其他嵌入式裝置. 作為一個嵌入式資料庫它也能夠很好的應用于用戶端程式.

3).    資料庫教學,SQLite 支援 SQL92(SQL2)标準的大多數查詢語言的功能。

4).    本地應用程式,其單一磁盤檔案的特性,并且不支援遠端連接配接,使其适用于本地的應用程式,如PC用戶端軟體.

4、使用示例展示

1 import sqlite3
 2  
 3 class conndb():
 4     list1=[]
 5     def __init__(self):
 6         self.conn = sqlite3.connect('testqqs.db') #存在就連接配接,不存在就建立資料庫
 7         self.c = self.conn.cursor() #擷取操作資料庫的遊标
 8  
 9     def query_sql(self,sql): #執行select并傳回資料的方法
10         result=self.c.execute(sql)
11         for res in result:
12             self.list1.append(res[0])
13         print(list(set(self.list1)))
14         self.conn.commit()
15         self.conn.close()
16  
17     def execute_sql(self,sql): #執行除select外語句的方法
18         result=self.c.execute(sql)
19         print("the result is:",result)
20         if "create table" in str(sql).lower():
21             print("Table created successfully")
22         else:
23             print("the createdb.sql execute is successfully")
24         self.conn.commit()
25         self.conn.close()
26  
27 if __name__=="__main__":
28     table1='''
29     create TABLE IF NOT EXISTS table0607( 
30      id  INTEGER   PRIMARY KEY AUTOINCREMENT,
31         `qq_number` varchar(255) DEFAULT NULL,
32         `qq_sex` varchar(255) DEFAULT NULL,
33         `qq_years` varchar(255) DEFAULT NULL,
34         `qq_injoin_time` varchar(255) DEFAULT NULL,
35         `qq_say_time` varchar(255) DEFAULT NULL
36      );
37     '''
38     insert_sql="INSERT INTO qq_infos (id,qq_number,qq_sex,qq_years,qq_injoin_time,qq_say_time) VALUES (1,'625888888','女','130年','2015/04/21','吐槽')"
39     query_sql="select count(*) from qq_infos"
40     delete_sql="delete from qq_infos where id=765"
41     update_sql="update qq_infos set qq_number='625888888' where id=1"
42     db=conndb()
43     sql="select qq_number from table0607 where id>4366"
44     db.execute_sql(table1)
45     db.query_sql(sql)      

總結:今天分享的内容,代碼示例部分還是需要大家親自動手實操,學習效果會更好。