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()
下面說說sqlite
和pymysql
模組之間的不同點吧。首先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 作為主鍵,不能...