最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文搞懂Python中輕量型數(shù)據(jù)庫SQLite3的用法

 更新時間:2025年07月24日 10:20:50   作者:climber1121  
SQLite 是一個極受歡迎的輕量級數(shù)據(jù)庫,它被廣泛應(yīng)用于各種大小的項目中,本文將詳細(xì)介紹 Python 中如何使用 SQLite3 庫進(jìn)行數(shù)據(jù)庫操作,感興趣的小伙伴可以了解下

1 引言

在進(jìn)行數(shù)據(jù)存儲和管理時,我們常常需要一個輕量級而又功能強(qiáng)大的數(shù)據(jù)庫系統(tǒng)。SQLite 是一個極受歡迎的輕量級數(shù)據(jù)庫,它被廣泛應(yīng)用于各種大小的項目中。Python 自帶了對 SQLite 的支持,使得在 Python 中使用 SQLite 變得非常簡單和直觀。本文將詳細(xì)介紹 Python 中如何使用 SQLite3 庫進(jìn)行數(shù)據(jù)庫操作。

2 SQLite3 簡介

SQLite 是一個基于 C 語言的輕量級 SQL 數(shù)據(jù)庫引擎。它不需要獨(dú)立的服務(wù)器進(jìn)程,數(shù)據(jù)庫完整地存儲在一個磁盤文件中。Python 標(biāo)準(zhǔn)庫中的 sqlite3 模塊提供了一個與 SQLite 數(shù)據(jù)庫交互的接口。

3 基本步驟

使用 SQLite3 模塊主要包括以下幾個步驟:

  • 連接數(shù)據(jù)庫
  • 創(chuàng)建表
  • 插入數(shù)據(jù)
  • 查詢數(shù)據(jù)
  • 更新/刪除數(shù)據(jù)
  • 關(guān)閉數(shù)據(jù)庫連接

4 示例代碼

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

import sqlite3

# 連接到數(shù)據(jù)庫(如果不存在,則創(chuàng)建)
conn = sqlite3.connect('example.db')

4.2 創(chuàng)建表

# 創(chuàng)建一個 Cursor 對象
cursor = conn.cursor()

# 創(chuàng)建表
cursor.execute('''CREATE TABLE IF NOT EXISTS users
               (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')

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

# 插入數(shù)據(jù)
cursor.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cursor.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")

# 提交事務(wù)
conn.commit()

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

# 查詢數(shù)據(jù)
cursor.execute("SELECT * FROM users")
print(cursor.fetchall())

4.5 更新/刪除數(shù)據(jù)

# 更新數(shù)據(jù)
cursor.execute("UPDATE users SET age = 31 WHERE name = 'Alice'")

# 刪除數(shù)據(jù)
cursor.execute("DELETE FROM users WHERE name = 'Bob'")

# 提交事務(wù)
conn.commit()

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

# 關(guān)閉 Cursor 和 Connection
cursor.close()
conn.close()

注意事項

  • 異常處理:在進(jìn)行數(shù)據(jù)庫操作時,使用 try...except 語句處理異常是一個好習(xí)慣。
  • 事務(wù)管理:使用 commit() 來保存更改,使用 rollback() 來撤銷未提交的事務(wù)。
  • 數(shù)據(jù)庫安全:避免 SQL 注入攻擊,最好使用參數(shù)化查詢。

5 實例演示

以下是一個使用 Python 中的 sqlite3 模塊來操作 SQLite 數(shù)據(jù)庫的完整示例。這個例子將展示如何連接到數(shù)據(jù)庫、創(chuàng)建表、插入、查詢、更新、刪除數(shù)據(jù),并最終關(guān)閉數(shù)據(jù)庫連接。我們將這些操作封裝在一個名為 sqlite_example.py 的 Python 文件中。

# sqlite_example.py
import sqlite3

def create_connection(db_file):
    """ 創(chuàng)建數(shù)據(jù)庫連接 """
    conn = None
    try:
        conn = sqlite3.connect(db_file)
        return conn
    except sqlite3.Error as e:
        print(e)
    return conn

def create_table(conn):
    """ 創(chuàng)建表 """
    try:
        cursor = conn.cursor()
        cursor.execute('''CREATE TABLE IF NOT EXISTS users
                        (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
    except sqlite3.Error as e:
        print(e)

def insert_user(conn, user):
    """ 插入新用戶 """
    try:
        cursor = conn.cursor()
        cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", user)
        conn.commit()
    except sqlite3.Error as e:
        print(e)

def update_user(conn, user):
    """ 更新用戶信息 """
    try:
        cursor = conn.cursor()
        cursor.execute("UPDATE users SET age = ? WHERE name = ?", user)
        conn.commit()
    except sqlite3.Error as e:
        print(e)

def delete_user(conn, name):
    """ 刪除用戶 """
    try:
        cursor = conn.cursor()
        cursor.execute("DELETE FROM users WHERE name = ?", (name,))
        conn.commit()
    except sqlite3.Error as e:
        print(e)

def select_all_users(conn):
    """ 查詢所有用戶 """
    try:
        cursor = conn.cursor()
        cursor.execute("SELECT * FROM users")
        rows = cursor.fetchall()
        for row in rows:
            print(row)
    except sqlite3.Error as e:
        print(e)

def main():
    database = "example.db"

    # 創(chuàng)建數(shù)據(jù)庫連接
    conn = create_connection(database)

    # 創(chuàng)建表
    if conn is not None:
        create_table(conn)
        
        # 插入數(shù)據(jù)
        insert_user(conn, ('Alice', 30))
        insert_user(conn, ('Bob', 25))

        # 更新數(shù)據(jù)
        update_user(conn, (35, 'Alice'))

        # 查詢數(shù)據(jù)
        print("查詢到的所有用戶:")
        select_all_users(conn)

        # 刪除數(shù)據(jù)
        delete_user(conn, 'Bob')

        # 再次查詢數(shù)據(jù)
        print("\n刪除后的用戶數(shù)據(jù):")
        select_all_users(conn)

        # 關(guān)閉數(shù)據(jù)庫連接
        conn.close()
    else:
        print("Error! 無法創(chuàng)建數(shù)據(jù)庫連接。")

if __name__ == '__main__':
    main()
   
 """
 控制臺輸出結(jié)果:
查詢到的所有用戶:
 (1, 'Alice', 35)
 (2, 'Alice', 35)
 (3, 'Bob', 25)
 
 刪除后的用戶數(shù)據(jù):
 (1, 'Alice', 35)
 (2, 'Alice', 35)
 """

在這個腳本中,我們定義了不同的函數(shù)來處理數(shù)據(jù)庫的創(chuàng)建連接、創(chuàng)建表、插入、更新、刪除和查詢操作。main 函數(shù)中整合了這些操作的流程。運(yùn)行這個腳本將在同目錄下創(chuàng)建一個名為 example.db 的 SQLite 數(shù)據(jù)庫文件,并在其中執(zhí)行了一系列的數(shù)據(jù)庫操作。

TIPS

可以通過數(shù)據(jù)庫瀏覽器查詢創(chuàng)建的數(shù)據(jù)庫,下載地址:DB Browser for SQLite官方下載鏈接

6 總結(jié)

SQLite3 提供了一個簡單高效的方式來進(jìn)行數(shù)據(jù)庫操作,非常適合于輕量級應(yīng)用。Python 的 sqlite3 模塊使得在 Python 中操作 SQLite 數(shù)據(jù)庫變得輕而易舉。

到此這篇關(guān)于一文搞懂Python中輕量型數(shù)據(jù)庫SQLite3的用法的文章就介紹到這了,更多相關(guān)Python SQLite3內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pyenv uninstall刪除不需要的Python版本的詳細(xì)操作

    Pyenv uninstall刪除不需要的Python版本的詳細(xì)操作

    文章介紹了如何使用pyenv和Miniconda來管理Python環(huán)境,特別是在清理不再需要的Python版本和環(huán)境時的實戰(zhàn)技巧,強(qiáng)調(diào)了pyenv作為Python版本管理器的優(yōu)勢,感興趣的朋友跟隨小編一起看看吧
    2026-03-03
  • python中end=" "的含義及說明

    python中end=" "的含義及說明

    這篇文章主要介紹了python中end=" "的含義及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 一文學(xué)會利用python解決文章付費(fèi)限制問題

    一文學(xué)會利用python解決文章付費(fèi)限制問題

    本篇文章主要介紹利用Python爬蟲爬取付費(fèi)文章,適合練習(xí)爬蟲基礎(chǔ)同學(xué),文中描述和代碼示例很詳細(xì),干貨滿滿,感興趣的小伙伴快來一起學(xué)習(xí)吧
    2023-05-05
  • Python 如何寫入Excel格式和顏色

    Python 如何寫入Excel格式和顏色

    這篇文章主要介紹了Python 寫入Excel格式和顏色的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python字符串中出現(xiàn)的次數(shù)統(tǒng)計多種方法

    Python字符串中出現(xiàn)的次數(shù)統(tǒng)計多種方法

    這篇文章主要介紹了Python字符串中出現(xiàn)的次數(shù)統(tǒng)計多種方法,使用內(nèi)置的count()方法、正則表達(dá)式、列表推導(dǎo)式、循環(huán)和條件判斷以及字符串分割,每種方法都有其適用的場景和優(yōu)缺點(diǎn),選擇合適的方法取決于具體的需求和場景,需要的朋友可以參考下
    2024-12-12
  • 用python對excel進(jìn)行操作(讀,寫,修改)

    用python對excel進(jìn)行操作(讀,寫,修改)

    這篇文章主要介紹了用python對excel進(jìn)行操作(讀,寫,修改),幫助大家更好的利用python處理表格,感興趣的朋友可以了解下
    2020-12-12
  • Python如何實現(xiàn)一個CLI命令行功能

    Python如何實現(xiàn)一個CLI命令行功能

    Click是一個強(qiáng)大的Python庫,專門用于快速創(chuàng)建命令行界面,本文將詳細(xì)介紹Click庫的功能以及CLI的應(yīng)用場景,并通過具體代碼示例展示如何實現(xiàn)CLI,有需要的可以了解下
    2025-02-02
  • python使用cookielib庫示例分享

    python使用cookielib庫示例分享

    Python中cookielib庫(python3中為http.cookiejar)為存儲和管理cookie提供客戶端支持,下面是使用示例
    2014-03-03
  • 使用Django啟動命令行及執(zhí)行腳本的方法

    使用Django啟動命令行及執(zhí)行腳本的方法

    今天小編就為大家分享一篇使用Django啟動命令行及執(zhí)行腳本的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python面向?qū)ο笾甒eb靜態(tài)服務(wù)器

    Python面向?qū)ο笾甒eb靜態(tài)服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了Python面向?qū)ο笾甒eb靜態(tài)服務(wù)器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09

最新評論

霍邱县| 武功县| 榕江县| 临颍县| 广丰县| 崇左市| 芜湖县| 伊春市| 新邵县| 榆中县| 新郑市| 韶山市| 乃东县| 双桥区| 古交市| 望奎县| 道真| 扬州市| 于田县| 双鸭山市| 光泽县| 平邑县| 钟山县| 牡丹江市| 阳新县| 侯马市| 东阳市| 崇州市| 通榆县| 房产| 大关县| 东辽县| 左云县| 汉源县| 凉山| 贵溪市| 新竹县| 达日县| 新乐市| 大荔县| 阆中市|