一文搞懂Python中轻量型数据库SQLite3的用法

Written by

in

文章目录
  • 在进行数据存储和管理时,我们常常需要一个轻量级而又功能强大的数据库系统。SQLite 是一个极受欢迎的轻量级数据库,它被广泛应用于各种大小的项目中。Python 自带了对 SQLite 的支持,使得在 Python 中使用 SQLite 变得非常简单和直观。本文将详细介绍 Python 中如何使用 SQLite3 库进行数据库操作。
  • SQLite 是一个基于 C 语言的轻量级 SQL 数据库引擎。它不需要独立的服务器进程,数据库完整地存储在一个磁盘文件中。Python 标准库中的 sqlite3 模块提供了一个与 SQLite 数据库交互的接口。
  • 使用 SQLite3 模块主要包括以下几个步骤: 连接数据库 创建表 插入数据 查询数据 更新/删除数据 关闭数据库连接
  • 以下是一个使用 Python 中的 sqlite3 模块来操作 SQLite 数据库的完整示例。这个例子将展示如何连接到数据库、创建表、插入、查询、更新、删除数据,并最终关闭数据库连接。我们将这些操作封装在一个名为 sqlite_example.py 的 Python 文件中。 # sqlite_example.py import sqlite3 def create_connection(db_file): “”” 创建数据库连接 “”” conn = None try: conn = sqlite3.connect(db_file) return conn except sqlite3.Error as e: print(e) return conn def create_table(conn): “”” 创建表 “”” 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” # 创建数据库连接 conn = create_connection(database) # 创建表 if conn is not None: create_table(conn) # 插入数据 insert_user(conn, (‘Alice’, 30)) insert_user(conn, (‘Bob’, 25)) # 更新数据 update_user(conn, (35, ‘Alice’)) # 查询数据 print(“查询到的所有用户:”) select_all_users(conn) # 删除数据 delete_user(conn, ‘Bob’) # 再次查询数据 print(“n删除后的用户数据:”) select_all_users(conn) # 关闭数据库连接 conn.close() else: print(“Error! 无法创建数据库连接。”) if __name__ == ‘__main__’: main() “”” 控制台输出结果: 查询到的所有用户: (1, ‘Alice’, 35) (2, ‘Alice’, 35) (3, ‘Bob’, 25) 删除后的用户数据: (1, ‘Alice’, 35) (2, ‘Alice’, 35) “”” 在这个脚本中,我们定义了不同的函数来处理数据库的创建连接、创建表、插入、更新、删除和查询操作。main 函数中整合了这些操作的流程。运行这个脚本将在同目录下创建一个名为 example.db 的 SQLite 数据库文件,并在其中执行了一系列的数据库操作。 TIPS 可以通过数据库浏览器查询创建的数据库,下载地址:DB Browser for SQLite官方下载链接
  • SQLite3 提供了一个简单高效的方式来进行数据库操作,非常适合于轻量级应用。Python 的 sqlite3 模块使得在 Python 中操作 SQLite 数据库变得轻而易举。 到此这篇关于一文搞懂Python中轻量型数据库SQLite3的用法的文章就介绍到这了,更多相关Python SQLite3内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: Python读取SQLite3数据库中的文件并获取列名/字段名 Python中如何使用sqlite3操作SQLite数据库详解 通过python封装SQLite3的示例代码 Python数据库sqlite3图文实例详解 利用Python实现sqlite3增删改查的封装 python3 sqlite3限制条件查询的操作
  • 目录
    • 1 引言
    • 2 SQLite3 简介
    • 3 基本步骤
    • 4 示例代码
      • 4.1 连接数据库
      • 4.2 创建表
      • 4.3 插入数据
      • 4.4 查询数据
      • 4.5 更新/删除数据
      • 4.6 关闭数据库连接
    • 5 实例演示
      • 6 总结

        在进行数据存储和管理时,我们常常需要一个轻量级而又功能强大的数据库系统。SQLite 是一个极受欢迎的轻量级数据库,它被广泛应用于各种大小的项目中。Python 自带了对 SQLite 的支持,使得在 Python 中使用 SQLite 变得非常简单和直观。本文将详细介绍 Python 中如何使用 SQLite3 库进行数据库操作。

        SQLite 是一个基于 C 语言的轻量级 SQL 数据库引擎。它不需要独立的服务器进程,数据库完整地存储在一个磁盘文件中。Python 标准库中的 sqlite3 模块提供了一个与 SQLite 数据库交互的接口。

        使用 SQLite3 模块主要包括以下几个步骤:

        • 连接数据库
        • 创建表
        • 插入数据
        • 查询数据
        • 更新/删除数据
        • 关闭数据库连接

        import sqlite3
        
        # 连接到数据库(如果不存在,则创建)
        conn = sqlite3.connect('example.db')
        

        # 创建一个 Cursor 对象
        cursor = conn.cursor()
        
        # 创建表
        cursor.execute('''CREATE TABLE IF NOT EXISTS users
                       (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
        

        # 插入数据
        cursor.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
        cursor.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")
        
        # 提交事务
        conn.commit()
        

        # 查询数据
        cursor.execute("SELECT * FROM users")
        print(cursor.fetchall())
        

        # 更新数据
        cursor.execute("UPDATE users SET age = 31 WHERE name = 'Alice'")
        
        # 删除数据
        cursor.execute("DELETE FROM users WHERE name = 'Bob'")
        
        # 提交事务
        conn.commit()
        

        # 关闭 Cursor 和 Connection
        cursor.close()
        conn.close()
        

        注意事项

        • 异常处理:在进行数据库操作时,使用 try...except 语句处理异常是一个好习惯。
        • 事务管理:使用 commit() 来保存更改,使用 rollback() 来撤销未提交的事务。
        • 数据库安全:避免 SQL 注入攻击,最好使用参数化查询。

        以下是一个使用 Python 中的 sqlite3 模块来操作 SQLite 数据库的完整示例。这个例子将展示如何连接到数据库、创建表、插入、查询、更新、删除数据,并最终关闭数据库连接。我们将这些操作封装在一个名为 sqlite_example.py 的 Python 文件中。

        # sqlite_example.py
        import sqlite3
        
        def create_connection(db_file):
            """ 创建数据库连接 """
            conn = None
            try:
                conn = sqlite3.connect(db_file)
                return conn
            except sqlite3.Error as e:
                print(e)
            return conn
        
        def create_table(conn):
            """ 创建表 """
            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"
        
            # 创建数据库连接
            conn = create_connection(database)
        
            # 创建表
            if conn is not None:
                create_table(conn)
                
                # 插入数据
                insert_user(conn, ('Alice', 30))
                insert_user(conn, ('Bob', 25))
        
                # 更新数据
                update_user(conn, (35, 'Alice'))
        
                # 查询数据
                print("查询到的所有用户:")
                select_all_users(conn)
        
                # 删除数据
                delete_user(conn, 'Bob')
        
                # 再次查询数据
                print("n删除后的用户数据:")
                select_all_users(conn)
        
                # 关闭数据库连接
                conn.close()
            else:
                print("Error! 无法创建数据库连接。")
        
        if __name__ == '__main__':
            main()
           
         """
         控制台输出结果:
        查询到的所有用户:
         (1, 'Alice', 35)
         (2, 'Alice', 35)
         (3, 'Bob', 25)
         
         删除后的用户数据:
         (1, 'Alice', 35)
         (2, 'Alice', 35)
         """
        

        在这个脚本中,我们定义了不同的函数来处理数据库的创建连接、创建表、插入、更新、删除和查询操作。main 函数中整合了这些操作的流程。运行这个脚本将在同目录下创建一个名为 example.db 的 SQLite 数据库文件,并在其中执行了一系列的数据库操作。

        TIPS

        可以通过数据库浏览器查询创建的数据库,下载地址:DB Browser for SQLite官方下载链接

        SQLite3 提供了一个简单高效的方式来进行数据库操作,非常适合于轻量级应用。Python 的 sqlite3 模块使得在 Python 中操作 SQLite 数据库变得轻而易举。

        到此这篇关于一文搞懂Python中轻量型数据库SQLite3的用法的文章就介绍到这了,更多相关Python SQLite3内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

        您可能感兴趣的文章:

        • Python读取SQLite3数据库中的文件并获取列名/字段名
        • Python中如何使用sqlite3操作SQLite数据库详解
        • 通过python封装SQLite3的示例代码
        • Python数据库sqlite3图文实例详解
        • 利用Python实现sqlite3增删改查的封装
        • python3 sqlite3限制条件查询的操作

        站内搜索