今天咱們要學習的是關於SQLite數據庫的相關知識,首先咱們來看一下什麼是SQLite數據庫html
SQLite是一種嵌入式數據庫,它的數據庫就是一個文件,且SQLite是遵照ACID的關係數據庫管理系統,它包含在一個相對小的C程序庫中,與許多其它數據庫管理系統不一樣,SQLite不是一個客戶端/服務器結構的數據庫引擎,而是被集成在用戶程序中的嵌入式關係型數據庫;sql
SQLite遵照ACID,實現了大多數SQL標準,它使用動態的、弱類型的SQL語法;數據庫
SQLite做爲嵌入式數據庫,是應用程序,如網頁瀏覽器,在本地/客戶端存儲數據的常見選擇;瀏覽器
咱們已經知道了SQLite數據庫是什麼了,而後咱們來學習一下它的使用,我簡單把SQLite的使用分爲一下步驟,一塊兒來看一下:服務器
首先第一步是導入sqlite3模塊,sqlite3是一個與SQLite交互的庫;學習
而後須要建立一個訪問數據庫的鏈接,好比咱們建立一個測試用的數據庫,命名爲test.db;測試
conn = sqlite3.connect('./test.db')
cursor = conn.cursor()
sql = 'create table students(id int primary key, name varchar(20) not null , age int not null)' cursor.execute(sql) # 建立表的命令
cursor.close() conn.close()
conn.commit()
表示經過鏈接將插入的數據進行提交,其餘的查詢語句、修改語句、刪除語句也差很少,你們能夠本身動手嘗試一下喲~import sqlite3 conn = sqlite3.connect('./test.db') cursor = conn.cursor() sql = 'insert into students values (?, ?, ?)' result = cursor.execute(sql, (1, 'Angle' ,18)) conn.commit() # 經過鏈接將插入的數據進行提交 cursor.close() conn.close()
咱們還能夠來簡單瞭解一下sqlite3模塊的APIfetch
sqlite3.connect()
:打開SQLite數據庫鏈接,返回一個鏈接對象;code
connection.cursor()
:建立一個 cursor;sqlite
cursor.execute()
:執行一個 SQL 語句;
connection.execute()
:經過調用光標(cursor)方法建立了一箇中間的光標對象,而後經過給定的參數調用光標的 execute 方法;
cursor.executemany()
:對 seq_of_parameters 中的全部參數或映射執行一個 SQL 命令;
connection.executemany()
:是一個由調用光標(cursor)方法建立的中間的光標對象的快捷方式,而後經過給定的參數調用光標的 executemany 方法;
cursor.executescript()
:一旦接收到腳本,會執行多個 SQL 語句;
connection.executescript()
:是一個由調用光標(cursor)方法建立的中間的光標對象的快捷方式,而後經過給定的參數調用光標的 executescript 方法;
connection.total_changes()
:返回自數據庫鏈接打開以來被修改、插入或刪除的數據庫總行數;
connection.commit()
:該方法提交當前的事務;
connection.rollback()
:該方法回滾自上一次調用 commit() 以來對數據庫所作的更改;
connection.close()
:該方法關閉數據庫鏈接;
cursor.fetchone()
:獲取查詢結果集中的下一行,返回一個單一的序列,當沒有更多可用的數據時,則返回 None;
cursor.fetchmany()
:獲取查詢結果集中的下一行組,返回一個列表;
cursor.fetchall()
:獲取查詢結果集中全部(剩餘)的行,返回一個列表,當沒有可用的行時,則返回一個空的列表;