您好,登錄后才能下訂單哦!
本篇內容介紹了“Python操作SQLite數據庫的基本步驟”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
SQLite是一種嵌入式數據庫,它的數據庫就是一個文件,且SQLite是遵守ACID的關系數據庫管理系統,它包含在一個相對小的C程序庫中,與許多其它數據庫管理系統不同,SQLite不是一個客戶端/服務器結構的數據庫引擎,而是被集成在用戶程序中的嵌入式關系型數據庫;
SQLite遵守ACID,實現了大多數SQL標準,它使用動態的、弱類型的SQL語法;
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()
我們還可以來簡單了解一下sqlite3模塊的API
sqlite3.connect()
:打開SQLite數據庫連接,返回一個連接對象;
connection.cursor()
:創建一個 cursor;
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()
:獲取查詢結果集中所有(剩余)的行,返回一個列表,當沒有可用的行時,則返回一個空的列表;
“Python操作SQLite數據庫的基本步驟”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。