在 Python 中处理与 SQLite 相关的异常
在Python中处理SQLite相关的异常时,我们可以使用sqlite3库。首先,你需要导入库并建立与数据库的连接。```
在这个例子中,我们将在数据库pidancode.db中创建一个表users,并对其进行插入、查询、更新、删除等操作。在每个操作过程中,我们将捕获并处理可能出现的异常。
import sqlite3 from sqlite3 import Error def create_connection(database): try: conn = sqlite3.connect(database) return conn except Error as e: print(e) return None def create_table(conn): try: cursor = conn.cursor() cursor.execute(""" CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, email TEXT NOT NULL UNIQUE ) """) except Error as e: print(e) def insert_user(conn, user): try: cursor = conn.cursor() cursor.execute("INSERT INTO users (name, email) VALUES (?, ?)", user) conn.commit() except Error as e: print(e) def query_users(conn): try: cursor = conn.cursor() cursor.execute("SELECT * FROM users") rows = cursor.fetchall() for row in rows: print(row) except Error as e: print(e) def update_user(conn, user): try: cursor = conn.cursor() cursor.execute("UPDATE users SET name = ? WHERE id = ?", user) conn.commit() except Error as e: print(e) def delete_user(conn, id): try: cursor = conn.cursor() cursor.execute("DELETE FROM users WHERE id = ?", (id,)) conn.commit() except Error as e: print(e) if __name__ == '__main__': database = "pidancode.db" conn = create_connection(database) if conn is not None: create_table(conn) insert_user(conn, ('皮蛋编程', 'contact@pidancode.com')) print("查询用户:") query_users(conn) print("更新用户:") update_user(conn, ('皮蛋编程_更新', 1)) query_users(conn) print("删除用户:") delete_user(conn, 1) query_users(conn) conn.close() else: print("无法建立数据库连接.")
在上述代码中,我们定义了五个函数来处理SQLite数据库的增删改查操作,并在每个函数中使用了try-except语句来捕获并处理可能出现的异常。我们创建了一个示例用户,使用字符串"皮蛋编程"和"contact@pidancode.com"作为用户的名称和邮箱。最后,在if name == 'main'块中,我们依次执行了插入、查询、更新、删除等操作,展示了如何处理SQLite相关的异常。
相关文章