SQlite在Python中基本操作

2021-09-16 22:40:42 字數 1898 閱讀 1135

import sqlite3

#建立/開啟資料庫需指定資料庫路徑,如果資料庫存在則開啟。不存在則建立乙個新的資料庫

con = sqlite3.connect(r'd:\資料庫\sqlite\test.db')

"""connect 返回 con 物件有以下幾個方法:

cursor() 建立乙個游標物件

commit() 事務提交

rollback() 事務回滾

close() 關閉資料庫連線

"""#建立游標物件

cur = con.cursor()

"""游標物件有以下方法支援資料庫操作:

excute() 執行 sql 語句

executemany() 用來執行多條 sql 語句

close() 關閉游標

fetchone() 從結果中取一條記錄,並將游標指向下一條記錄

fetchmany() 從結果中取多條記錄

fetchall() 從結果中取出所有記錄

scroll() 用於游標滾動

"""#游標物件建立表

cur.execute('create table person (id integer primary key,name varchar(20),\

age integer)')

#插入資料,兩種方法

#一:直接構造乙個插入 sql 語句,但這種做法非常不安全,容易導致 sql 注入

data = "0,'zjk',20"

cur.execute('insert into person values (%s)' % data)

#二:使用佔位符「?」來規避這個問題

cur.execute('insert into person values (?,?,?)',(1,'aa',20))

#還可以使用 excutemany() 執行多條 sql 語句,比迴圈執行效率高

cur.executemany('insert into person values (?,?,?)',[(3,'jcak',15),

(4,'kk',19)])

#插入後都不會立即生效,要進行提交

con.commit()

#如果出現錯誤,回滾為原來的狀態

con.rollback()

#查詢資料

"""fetchall:獲取所有資料,返回乙個二維列表

fetchone:獲取其中乙個結果,返回元組

"""cur.execute('select * from person')

res = cur.fetchall()

for line in res:

print(line)

print()

cur.execute('select * from person')

res = cur.fetchone()

print(res)

print()

#修改和刪除資料

cur.execute('update person set name=? where id=?',('rose',1))

cur.execute('delete from person where id=?',(0,))

con.commit()

#檢視修改以後的結果

cur.execute('select * from person')

res = cur.fetchall()

for line in res:

print(line)

print()

#執行完關閉游標

con.close()

#關閉資料庫

con.close()

"""插入或修改中文資料時,記得在中文字串之前加上「u」

"""

在C 中運用 SQLite

在c 中運用 sqlite 中小 雙擊滾屏 id,bookname,price values id,bookname,price cmd.parameters.add new sqliteparameter id book.id cmd.parameters.add new sqliteparame...

DbUtils在SQLite中的應用

dbutils.persistentdb 實現了強硬的 執行緒安全的 頑固的資料庫連線,使用db api 2模組。dbutils.pooleddb 實現了乙個強硬的 執行緒安全的 有快取的 可復用的資料庫連線。dbutils作用有三 1.丟乙個sql,給乙個結果 2.把結果包裝成bean map l...

SQLite在php中的介面

sqlite是一種比較輕型的嵌入式資料庫,它與 sql 之間的不同,為什麼需要它,以及它的應用程式資料庫處理方式。sqlite是乙個軟體庫,實現了自給自足的 無伺服器的 零配置的 事務性的 sql 資料庫引擎。sqlite是乙個增長最快的資料庫引擎,這是在普及方面的增長,與它的尺寸大小無關 安裝教程...