偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python內(nèi)置數(shù)據(jù)庫:輕量級SQLite

數(shù)據(jù)庫 其他數(shù)據(jù)庫 前端
本篇文章將介紹Python內(nèi)置數(shù)據(jù)庫SQLite的特點(diǎn)、用法和一些實(shí)用技巧,幫助讀者更好地利用它來構(gòu)建全面的應(yīng)用程序。

Python是一種流行的編程語言,可以用于開發(fā)各種應(yīng)用程序,從圖形用戶界面到網(wǎng)站和游戲。Python的一個特點(diǎn)是,它內(nèi)置了一個輕量級的關(guān)系型數(shù)據(jù)庫SQLite,它可以提供快速、簡單的數(shù)據(jù)存儲和檢索。本篇博客將介紹Python內(nèi)置數(shù)據(jù)庫SQLite的特點(diǎn)、用法和一些實(shí)用技巧,幫助讀者更好地利用它來構(gòu)建全面的應(yīng)用程序。

1. 初識SQLite

SQLite是一個輕量級的數(shù)據(jù)庫,它不需要單獨(dú)的服務(wù)器進(jìn)程,可以直接嵌入到Python程序中。Python內(nèi)置了對SQLite的支持,內(nèi)置庫不需要安裝,我們可以通過SQLite3模塊來使用SQLite數(shù)據(jù)庫。

SQLite數(shù)據(jù)庫使用的.db文件是一種數(shù)據(jù)庫文件,屬于二進(jìn)制文件類型。它是由SQLite引擎創(chuàng)建和管理的,用于存儲和管理數(shù)據(jù)。SQLite數(shù)據(jù)庫文件包含了表格、行和列等結(jié)構(gòu)化數(shù)據(jù),并提供了對這些數(shù)據(jù)的讀取、寫入和查詢等功能。

SQLite數(shù)據(jù)庫文件的特點(diǎn)如下:

  • 單個文件:SQLite數(shù)據(jù)庫通常由單個.db文件組成,包含了所有的表格和數(shù)據(jù),沒有額外的配置文件或目錄。
  • 壓縮格式:SQLite數(shù)據(jù)庫文件使用了一種專有的壓縮格式,可以有效地壓縮和存儲大量的數(shù)據(jù)。
  • 跨平臺可移植性:SQLite數(shù)據(jù)庫文件可以在不同的操作系統(tǒng)上進(jìn)行共享和使用,包括Windows、Linux、Mac等。
  • 零配置:創(chuàng)建和使用SQLite數(shù)據(jù)庫文件通常不需要進(jìn)行任何額外的配置或服務(wù)器設(shè)置,只需使用合適的庫或工具即可。

由于SQLite數(shù)據(jù)庫文件是二進(jìn)制格式,并且具有一定的文件結(jié)構(gòu)和格式,所以通常需要使用專門的SQLite數(shù)據(jù)庫引擎或相關(guān)的工具才能正確地讀取、寫入和操作這些文件。

2.牛刀小試

import sqlite3

# 連接到數(shù)據(jù)庫
conn = sqlite3.connect('example.db')

# 創(chuàng)建一個游標(biāo)對象
cursor = conn.cursor()

# 執(zhí)行一個查詢
cursor.execute('SELECT SQLITE_VERSION()')

# 打印查詢結(jié)果
data = cursor.fetchone()
print("SQLite version:", data)
# SQLite version: ('3.40.1',)

# 關(guān)閉連接
conn.close()

3. Sqlite的增刪改查

以下是一個簡單的SQLite使用示例:

import sqlite3

# 連接到數(shù)據(jù)庫
conn = sqlite3.connect('user.db')

# 創(chuàng)建一個游標(biāo)對象
cursor = conn.cursor()

# 創(chuàng)建表格
# 創(chuàng)建一個名為students的表,包含id、name和age三個字段
cursor.execute('''CREATE TABLE students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
# cursor.execute('''CREATE TABLE stocks
#                   (date text, trans text, symbol text, qty real, price real)''')

# 插入數(shù)據(jù)
# 向students表中插入一條數(shù)據(jù)
cursor.execute("INSERT INTO students (name, age) VALUES ('張三', 20)")
# cursor.execute("INSERT INTO stocks VALUES ('2022-10-28', 'BUY', 'GOOG', 100, 490.1)")

# 保存更改
conn.commit()

# 關(guān)閉連接
conn.close()

在上述例子中,我們新建了一張表,并且插入了一條數(shù)據(jù),但是我們一般是打不開這個文件的,需要借助插件來查看數(shù)據(jù)文件;這個時候需要安裝一個插件:

SQLite3 Editor

如下所示:

然后就可以預(yù)覽剛才數(shù)據(jù)的操作:

建表完成之后就可以進(jìn)行數(shù)據(jù)的增刪改查。

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

import sqlite3

# 連接到數(shù)據(jù)庫
conn = sqlite3.connect('user.db')

# 創(chuàng)建一個游標(biāo)對象
cursor = conn.cursor()

# 查詢users表中的所有數(shù)據(jù)
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()

# 打印查詢結(jié)果
for row in rows:
    print(row)

# 關(guān)閉連接
conn.close()
# (1, '張三', 20)

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

import sqlite3

# 連接到數(shù)據(jù)庫
conn = sqlite3.connect('user.db')

# 創(chuàng)建一個游標(biāo)對象
cursor = conn.cursor()


# 更新users表中id為1的數(shù)據(jù)的name字段為'李四'
cursor.execute("UPDATE students SET name=? WHERE id=?", ('李四', 1))

# 查詢users表中的所有數(shù)據(jù)
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()

# 打印查詢結(jié)果
for row in rows:
    print(row)

# 關(guān)閉連接
conn.close()
# (1, '李四', 20)

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

import sqlite3

# 連接到數(shù)據(jù)庫
conn = sqlite3.connect('example.db')

# 創(chuàng)建一個游標(biāo)對象
cursor = conn.cursor()

# 刪除users表中id為1的數(shù)據(jù)
cursor.execute("DELETE FROM students WHERE id=?", (1,))

# 提交更改并關(guān)閉連接
conn.commit()
conn.close()

(4) 提交事務(wù)

conn.commit()

(5) 關(guān)閉游標(biāo)和連接

cursor.close()
conn.close()

總結(jié)

Python內(nèi)置的SQLite數(shù)據(jù)庫具有自包含、跨平臺、無服務(wù)器和易于使用的特點(diǎn),可以幫助開發(fā)人員快速創(chuàng)建和維護(hù)小型數(shù)據(jù)庫應(yīng)用。此外,Python語言自身也提供了豐富的模塊和庫,可以與SQLite無縫協(xié)作,非常方便。在此基礎(chǔ)上,我們可以嘗試更高級的數(shù)據(jù)庫技術(shù),如ORM(對象關(guān)系映射)、數(shù)據(jù)庫遷移和分布式系統(tǒng)構(gòu)建等。相信有了這篇博客的幫助,您對Python內(nèi)置的SQLite會有更深入的了解并深受裨益。

責(zé)任編輯:趙寧寧 來源: python學(xué)習(xí)之旅
相關(guān)推薦

2023-12-13 08:22:45

SQLite關(guān)系型數(shù)據(jù)庫

2025-04-17 04:00:00

SQLite-WebSQLite數(shù)據(jù)庫

2025-02-06 08:06:05

2020-07-31 08:07:54

Python開發(fā)數(shù)據(jù)庫

2013-02-20 14:54:03

C#.NETNDatabase

2022-08-10 12:21:07

PythonWebBottle

2022-08-31 12:48:48

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

2022-05-16 07:37:58

SQL 編輯器數(shù)據(jù)庫管理工具

2021-12-06 15:11:34

鴻蒙HarmonyOS應(yīng)用

2021-08-31 14:58:52

鴻蒙HarmonyOS應(yīng)用

2024-03-05 18:40:15

LiteDB數(shù)據(jù)庫NoSQL

2010-03-04 15:31:44

Python SQLI

2011-07-20 12:34:49

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

2019-08-15 07:00:54

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

2017-07-12 09:20:42

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

2024-09-30 08:30:37

2021-03-02 09:35:33

Python循環(huán)開發(fā)

2022-07-14 11:31:04

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

2022-07-15 16:39:19

PythonWhoosh工具

2011-08-04 18:00:47

SQLite數(shù)據(jù)庫批量數(shù)據(jù)
點(diǎn)贊
收藏

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