Python操做SQLite數據庫

今天咱們要學習的是關於SQLite數據庫的相關知識,首先咱們來看一下什麼是SQLite數據庫html

1.什麼是SQLite數據庫

  • SQLite是一種嵌入式數據庫,它的數據庫就是一個文件,且SQLite是遵照ACID的關係數據庫管理系統,它包含在一個相對小的C程序庫中,與許多其它數據庫管理系統不一樣,SQLite不是一個客戶端/服務器結構的數據庫引擎,而是被集成在用戶程序中的嵌入式關係型數據庫;sql

  • SQLite遵照ACID,實現了大多數SQL標準,它使用動態的、弱類型的SQL語法;數據庫

  • SQLite做爲嵌入式數據庫,是應用程序,如網頁瀏覽器,在本地/客戶端存儲數據的常見選擇;瀏覽器

2.Python操做SQLite數據庫

咱們已經知道了SQLite數據庫是什麼了,而後咱們來學習一下它的使用,我簡單把SQLite的使用分爲一下步驟,一塊兒來看一下:服務器

  • 首先第一步是導入sqlite3模塊,sqlite3是一個與SQLite交互的庫;學習

  • 而後須要建立一個訪問數據庫的鏈接,好比咱們建立一個測試用的數據庫,命名爲test.db;測試

conn = sqlite3.connect('./test.db')
  • 如今咱們就已經鏈接到數據庫了,而後須要建立遊標也就是Cursor;
cursor = conn.cursor()
  • 經過Cursor執行SQL語句,而後得到執行結果,咱們先來建立一個students表;
sql = 'create table students(id int primary key, name varchar(20) not null , age int not null)'
cursor.execute(sql)  # 建立表的命令
  • 最後必定要記得關閉遊標和關閉鏈接;
cursor.close()
conn.close()
  • 如今咱們已經知道使用SQLite數據庫的基本步驟了,那接下來咱們試着給students表插入數據了,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()

3.Python sqlite3模塊的API

咱們還能夠來簡單瞭解一下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():獲取查詢結果集中全部(剩餘)的行,返回一個列表,當沒有可用的行時,則返回一個空的列表;

參考:https://www.9xkd.com/user/plan-view.html?id=6730103600

相關文章
相關標籤/搜索