使用sqlite3 模組操作sqlite3資料庫
Python內建了sqlite3
模組,可以操作流行的嵌入式資料庫sqlite3。如果看了我前面的使用 pymysql 操作MySQL資料庫這篇文章就更簡單了。因為它們都遵循PEP 249,所以操作方法幾乎相同。
廢話就不多說了,直接看程式碼吧。程式碼都差不多,首先匯入模組,然後建立連線,然後獲取遊標物件,之後利用遊標物件執行SQL語句並獲取結果。由於SQL引數需要以元組形式傳入,所以下面的程式碼你會看到('name',)
這樣的,這是一個元素的元組形式。
import sqlite3
db_file = 'test.db'
create_table_sql = '''\
CREATE TABLE test(
name VARCHAR(255) PRIMARY KEY ,
value VARCHAR(255) NOT NULL
)
'''
insert_table_sql = """\
INSERT INTO test VALUES(?,?)
"""
query_table_sql = """\
SELECT *
FROM test WHERE `name`=?
"""
delete_table_sql = """\
DROP TABLE test
"""
print('--------------sqlite3--------------')
print(f'version:{sqlite3.version}')
print(f'sqlite_version:{sqlite3.sqlite_version}')
with sqlite3.connect(db_file) as connection:
try:
cursor = connection.cursor()
cursor.execute(create_table_sql)
cursor.execute(insert_table_sql, ('name', 'yitian'))
cursor.execute(insert_table_sql, ('count', '100'))
cursor.execute(query_table_sql, ('name',))
name = cursor.fetchone()
print(name)
cursor.execute(query_table_sql, ('count',))
count = cursor.fetchone()
print(count)
cursor.execute(delete_table_sql)
finally:
cursor.close()
下面說說sqlite
和PyMySQL
模組之間的不同點吧。首先sqlite3是一個嵌入式資料庫,所以資料庫檔案就是一個db
檔案,在上面的程式碼中,如果第一次執行就會發現在當前資料夾下多了一個test.db
檔案,這就是嵌入式資料庫檔案。如果我們把資料儲存到記憶體中,程式結束後就消失,那麼使用:memory:
作為資料庫名稱。
另一個不同點就是SQL引數的佔位符了,sqlite3
的佔位符是?
,而PyMySQL
的佔位符是%s
。在使用的時候需要確定具體的資料庫文件,檢視它的佔位符到底是什麼。
相關文章
- Python資料庫模組(sqlite3,SQLite3)Python資料庫SQLite
- sqlite3資料庫操作SQLite資料庫
- Python標準庫14 資料庫 (sqlite3)Python資料庫SQLite
- SQLite3資料庫檔案結構解析SQLite資料庫
- cocos2dx之引入Sqlite3資料庫SQLite資料庫
- lazarus 開啟 sqlite3資料SQLite
- ubuntu上使用sqlite3UbuntuSQLite
- [Python]_[初級]_[校驗查詢sqlite3資料庫]PythonSQLite資料庫
- gorm操作sqlite3,高併發讀寫如何避免鎖庫?GoORMSQLite
- qcad qt ecmajavascript sqlite3QTJavaScriptSQLite
- windows安裝sqlite3WindowsSQLite
- Rails7、sqlite3 和 litestream組合Docker配置AISQLiteDocker
- ubuntu下安裝sqlite3UbuntuSQLite
- SQLite3原始碼學習(33) Pager模組中的相關問題和細節SQLite原始碼
- SQLite 命令列客戶端 sqlite3 使用指南SQLite命令列客戶端
- SQLite3 匯出 CSV 檔案SQLite
- CentOS6.5安裝sqlite3CentOSSQLite
- Peewee Sqlite3 中文模糊查詢SQLite
- 【知識點】SQLite3總結SQLite
- PbootCMS未檢測到您伺服器環境的sqlite3資料庫擴充套件boot伺服器SQLite資料庫套件
- android sqlite3 not found 解決總結AndroidSQLite
- php封裝db 類連線sqlite3PHP封裝SQLite
- 利用python將滬深300股票歷史資料儲存在sqlite3PythonSQLite
- 【Falsk 使用資料庫】---- 資料庫基本操作資料庫
- Simple: SQLite3 中文結巴分詞外掛SQLite分詞
- 網站開啟提示:”未檢測到您伺服器環境的sqlite3資料庫擴充套件...“網站伺服器SQLite資料庫套件
- pbootcms 網站開啟提示:未檢測到您伺服器環境的sqlite3資料庫擴充套件...boot網站伺服器SQLite資料庫套件
- PbootCMS網站開啟提示:”未檢測到您伺服器環境的sqlite3資料庫擴充套件...“boot網站伺服器SQLite資料庫套件
- 怎樣在sqlite3上執行SQL語句SQLite
- django哪個模組配置資料庫Django資料庫
- python資料庫模組-Cx_OraclePython資料庫Oracle
- 使用SSMS操作AdventureWorks 示例資料庫SSM資料庫
- springboot建立與資料庫關聯模組Spring Boot資料庫
- 營銷模組資料庫表解析(二)資料庫
- SQLite3原始碼學習(32) WAL日誌詳細分析SQLite原始碼
- python常用標準庫(os系統模組、shutil檔案操作模組)Python
- 資料庫操作資料庫
- 資料庫操作·資料庫
- 如何使用ChatGPT模擬MySQL資料庫ChatGPTMySql資料庫