使用sqlite3 模組操作sqlite3資料庫

2021-09-20 00:20:03 字數 1708 閱讀 7397

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:')

print(f'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()

下面說說sqlitepymysql模組之間的不同點吧。首先sqlite3是乙個嵌入式資料庫,所以資料庫檔案就是乙個db檔案,在上面的**中,如果第一次執行就會發現在當前資料夾下多了乙個test.db檔案,這就是嵌入式資料庫檔案。如果我們把資料儲存到記憶體中,程式結束後就消失,那麼使用:memory:作為資料庫名稱。

另乙個不同點就是sql引數的佔位符了,sqlite3的佔位符是?,而pymysql的佔位符是%s。在使用的時候需要確定具體的資料庫文件,檢視它的佔位符到底是什麼。

sqlite3基本操作

sqlite3對很多通過的sql語句都支援,像select,update,insert,delete等等都支援地很好,只要懂sql語句就可以用sqlite3。1,下面是幾個比較重要的api函式 開啟資料庫,如果不存在則建立乙個 int sqlite3 open const char sqlite3 ...

sqlite3基本操作

1.sqlite3 db.sqlite3 進入名為db.sqlite3的資料庫 2.sqlite tables 檢視所有表 3 sqlite schema 表名 檢視表結構 4 sqlite database 檢視目前掛載的資料庫 5 sqlite quit 退出資料庫 6 root wzz sql...

sqlite3 基本操作

安裝sqlite3 sudo dnf install sqlite3 fedora sudo apt get install sqlite3 ubuntu 1 開啟資料庫,如果沒有則建立 sqlite3 test.db 2 建立 格式,student 中 有 integer型的 id 作為主鍵,不能...