本節轉自https://freeaihub.com/article/sqlite-with-python.html,前往該頁可在線進行sqlite數據庫的實操。
本節您將通過使用python3內置的sqlite3庫,首先連接到數據庫,創建並使用游標Cursor,再執行SQL語句,最后提交事務以實現sqlite3數據庫中的CRUD新增數據,查詢數據,更新數據和刪除數據的常用操作。
SQLite是一種嵌入式數據庫,它的數據庫就是一個文件,SQLite能保存可以保存空值、整數、浮點數、字符串和blob 。sqlite相關教程動手學sqlite。
連接數據庫(如果不存在則創建)
import sqlite3
# 連接數據庫(如果不存在則創建)
conn = sqlite3.connect('test.db')
print("Opened database successfully")
# 創建游標
cursor = conn.cursor()
# 關閉游標
cursor.close()
# 提交事物
conn.commit()
#關閉游標
cursor.close()
#關閉連接
conn.close()
創建表
import sqlite3
# 連接數據庫(如果不存在則創建)
conn = sqlite3.connect('test.db')
# 創建游標
cursor = conn.cursor()
# 創建表
sql = 'CREATE TABLE Student(id integer PRIMARY KEY autoincrement, Name varchar(30), Age integer)'
cursor.execute(sql)
# 提交事物
conn.commit()
#關閉游標
cursor.close()
#關閉連接
conn.close()
插入數據
import sqlite3
# 連接數據庫(如果不存在則創建)
conn = sqlite3.connect('test.db')
# 創建游標
cursor = conn.cursor()
# 插入數據1
sql = "INSERT INTO Student(Name, Age) VALUES(\'lucy\', 22)"
cursor.execute(sql)
# 插入數據 2
data = ('jack', 21)
sql = "INSERT INTO Student(Name, Age) VALUES(?, ?)"
cursor.execute(sql, data)
# 提交事物
conn.commit()
#關閉游標
cursor.close()
#關閉連接
conn.close()
更新記錄
import sqlite3
# 連接數據庫(如果不存在則創建)
conn = sqlite3.connect('test.db')
# 創建游標
cursor = conn.cursor()
cursor.execute("UPDATE Student SET name = ? where id = ?",("lily","3"))
# 提交事物
conn.commit()
#關閉游標
cursor.close()
#關閉連接
conn.close()
刪除記錄
import sqlite3
# 連接數據庫(如果不存在則創建)
conn = sqlite3.connect('test.db')
# 創建游標
cursor = conn.cursor()
cursor.execute("delete from Student where id=?",("1",)) #逗號不能省,元組元素只有一個的時候一定要加逗號,將刪除lucy
# 提交事物
conn.commit()
#關閉游標
cursor.close()
#關閉連接
conn.close()
查詢數據
import sqlite3
# 連接數據庫(如果不存在則創建)
conn = sqlite3.connect('test.db')
# 創建游標
cursor = conn.cursor()
# 查詢數據1
sql = "select * from Student"
values = cursor.execute(sql)
for i in values:
print(i)
# 查詢數據 2
sql = "select * from Student where id=?"
values = cursor.execute(sql, (1,))
for i in values:
print('id:', i[0])
print('name:', i[1])
print('age:', i[2])
# 提交事物
conn.commit()
#關閉游標
cursor.close()
#關閉連接
conn.close()
刪除表格
import sqlite3
# 連接數據庫(如果不存在則創建)
conn = sqlite3.connect('test.db')
# 創建游標
cursor = conn.cursor()
#刪除表格Student
cursor.execute("DROP TABLE Student")
# 提交事物
conn.commit()
#關閉游標
cursor.close()
#關閉連接
conn.close()
小節
以上我們通過使用sqlite庫,在線進行了常規的數據庫操作,關於的數據庫操作您可以在線查詢sqlite3這個庫的更多用法。