自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

幾行代碼教你操作小型數(shù)據(jù)庫(kù) SQLite

數(shù)據(jù)庫(kù) 開(kāi)發(fā)
本文我們使用 Python 自帶的 sqlite3 模塊來(lái)演示如何使用 Python 操作 SQLite 數(shù)據(jù)庫(kù)。

SQLite介紹

SQLite 是一款輕型、小巧、高效的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它可以在任何操作系統(tǒng)中運(yùn)行。而且它的驅(qū)動(dòng)程序也非常豐富,各種語(yǔ)言都有對(duì)應(yīng)的驅(qū)動(dòng)。

這里我們使用 Python 自帶的 sqlite3 模塊來(lái)演示如何使用 Python 操作 SQLite 數(shù)據(jù)庫(kù)。

引入模塊

使用 Python 操作 SQLite 需要先引入 sqlite3 模塊。

import sqlite3

連接數(shù)據(jù)庫(kù)

連接 SQLite 數(shù)據(jù)庫(kù)可以使用 connect() 方法,它有一個(gè)必需參數(shù)是數(shù)據(jù)庫(kù)文件名,如果文件不存在則會(huì)自動(dòng)創(chuàng)建,如果文件存在則會(huì)連接該文件。

# 連接或創(chuàng)建數(shù)據(jù)庫(kù)
conn = sqlite3.connect('test.db')

connect() 方法還可以有其他參數(shù),例如 timeout,它表示在等待某個(gè)鎖的時(shí)間內(nèi)如果沒(méi)有成功,則會(huì)拋出 sqlite3.BusyError 異常。

創(chuàng)建表

創(chuàng)建表可以執(zhí)行 SQL 語(yǔ)句,也可以使用 Python 操作數(shù)據(jù)庫(kù)的 API。

# 創(chuàng)建表
conn.execute('''
CREATE TABLE if not exists company
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);
''')

插入數(shù)據(jù)

插入數(shù)據(jù)需要使用 INSERT 語(yǔ)句,語(yǔ)法為:

conn.execute(f"INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
              VALUES ({id}, '{name}', {age}, '{address}', {salary})")

或者使用參數(shù)化 SQL 語(yǔ)句,語(yǔ)法為:

conn.execute("INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY) VALUES (?, ?, ?, ?, ?)", 
             (id, name, age, address, salary))

其中 ? 表示占位符,后面的元組中為需要插入的數(shù)據(jù)。

查詢數(shù)據(jù)

查詢數(shù)據(jù)需要使用 SELECT 語(yǔ)句,語(yǔ)法為:

cursor = conn.execute("SELECT ID, NAME, AGE, ADDRESS, SALARY FROM company")
for row in cursor:
    print(f"ID = {row[0]}, NAME = {row[1]}, AGE = {row[2]}, ADDRESS = {row[3]}, SALARY = {row[4]}")

更新數(shù)據(jù)

更新數(shù)據(jù)需要使用 UPDATE 語(yǔ)句,語(yǔ)法為:

conn.execute(f"UPDATE company SET SALARY = {salary} WHERE ID = {id}")

刪除數(shù)據(jù)

刪除數(shù)據(jù)需要使用 DELETE 語(yǔ)句,語(yǔ)法為:

conn.execute(f"DELETE from company where ID = {id}")

提交事務(wù)

Python 操作 SQLite 數(shù)據(jù)庫(kù)自動(dòng)開(kāi)啟一個(gè)事務(wù),如果要提交事務(wù),需要使用 commit() 方法。

conn.commit()

關(guān)閉數(shù)據(jù)庫(kù)連接

不需要訪問(wèn)數(shù)據(jù)庫(kù)時(shí),需要關(guān)閉連接。

conn.close()

總結(jié)

通過(guò)上述代碼可以看出,使用 Python 操作 SQLite 數(shù)據(jù)庫(kù)非常簡(jiǎn)單,只需要使用一些簡(jiǎn)單的 SQL 語(yǔ)句或者 Python API 就可以完成增刪改查等操作。SQLite 數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)是體積小、運(yùn)行速度快,尤其適合一些嵌入式設(shè)備或需要大量讀寫的場(chǎng)景。

責(zé)任編輯:趙寧寧 來(lái)源: Python都知道
相關(guān)推薦

2024-01-10 14:45:46

Redis數(shù)據(jù)庫(kù)存儲(chǔ)

2023-12-24 22:52:26

PythonPPT代碼

2023-10-27 11:38:09

PythonWord

2023-11-01 10:36:19

2010-03-04 15:31:44

Python SQLI

2011-07-05 14:46:34

2011-07-05 10:16:16

Qt 數(shù)據(jù)庫(kù) SQLite

2021-10-18 09:09:16

數(shù)據(jù)庫(kù)

2011-07-12 15:22:04

SQLite數(shù)據(jù)庫(kù)

2011-07-26 18:11:56

iPhone Sqlite 數(shù)據(jù)庫(kù)

2009-12-14 16:00:32

Ruby操作Oracl

2011-07-20 12:34:49

SQLite數(shù)據(jù)庫(kù)約束

2019-08-15 07:00:54

SQLite數(shù)據(jù)庫(kù)內(nèi)存數(shù)據(jù)庫(kù)

2017-07-12 09:20:42

SQLite數(shù)據(jù)庫(kù)移植

2011-07-05 10:27:06

MySQL數(shù)據(jù)庫(kù)檢索排序

2011-03-03 13:13:51

DelphiSQLite加密

2011-07-07 16:42:38

iPhone Sqlite3 數(shù)據(jù)庫(kù)

2011-07-20 13:40:00

SQLite數(shù)據(jù)庫(kù)查詢數(shù)據(jù)

2011-08-04 18:00:47

SQLite數(shù)據(jù)庫(kù)批量數(shù)據(jù)

2011-08-02 16:16:08

iPhone開(kāi)發(fā) SQLite 數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)