翼度科技»论坛 编程开发 python 查看内容

在Python中利用内置SQLite3模块进行数据库操作的完整指南

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
 
在Python中,使用SQLite非常方便,Python内置了 SQLite3 模块,无需额外安装。SQLite 是一个轻量级的嵌入式数据库,适用于小型项目和单用户应用。以下是一个简单的示例,演示如何在 Python 中使用 SQLite,并提供了常见的查询、增加、修改和删除功能。
首先,确保你的 Python 安装包含 sqlite3 模块。然后,创建一个 Python 文件,例如 sqlite_example.py,并添加以下代码:
  1. import sqlite3
  2. def create_connection(db_file):
  3.     """创建数据库连接"""
  4.     try:
  5.         connection = sqlite3.connect(db_file)
  6.         return connection
  7.     except sqlite3.Error as e:
  8.         print(e)
  9.     return None
  10. def create_table(connection):
  11.     """创建表"""
  12.     try:
  13.         cursor = connection.cursor()
  14.         cursor.execute('''
  15.             CREATE TABLE IF NOT EXISTS Users (
  16.                 Id INTEGER PRIMARY KEY AUTOINCREMENT,
  17.                 Name TEXT,
  18.                 Age INTEGER
  19.             );
  20.         ''')
  21.         connection.commit()
  22.         print("Table created or already exists.")
  23.     except sqlite3.Error as e:
  24.         print(e)
  25. def insert_data(connection, name, age):
  26.     """插入数据"""
  27.     try:
  28.         cursor = connection.cursor()
  29.         cursor.execute("INSERT INTO Users (Name, Age) VALUES (?, ?);", (name, age))
  30.         connection.commit()
  31.         print("Data inserted.")
  32.     except sqlite3.Error as e:
  33.         print(e)
  34. def query_data(connection):
  35.     """查询数据"""
  36.     try:
  37.         cursor = connection.cursor()
  38.         cursor.execute("SELECT * FROM Users;")
  39.         rows = cursor.fetchall()
  40.         print("Id\tName\tAge")
  41.         for row in rows:
  42.             print(f"{row[0]}\t{row[1]}\t{row[2]}")
  43.     except sqlite3.Error as e:
  44.         print(e)
  45. def update_data(connection, user_id, name, age):
  46.     """更新数据"""
  47.     try:
  48.         cursor = connection.cursor()
  49.         cursor.execute("UPDATE Users SET Name=?, Age=? WHERE Id=?;", (name, age, user_id))
  50.         connection.commit()
  51.         print("Data updated.")
  52.     except sqlite3.Error as e:
  53.         print(e)
  54. def delete_data(connection, user_id):
  55.     """删除数据"""
  56.     try:
  57.         cursor = connection.cursor()
  58.         cursor.execute("DELETE FROM Users WHERE Id=?;", (user_id,))
  59.         connection.commit()
  60.         print("Data deleted.")
  61.     except sqlite3.Error as e:
  62.         print(e)
  63. def main():
  64.     # 指定数据库文件路径
  65.     db_file = "sample.db"
  66.     # 创建数据库连接
  67.     connection = create_connection(db_file)
  68.     if connection:
  69.         # 创建表
  70.         create_table(connection)
  71.         # 插入数据
  72.         insert_data(connection, "John Doe", 30)
  73.         # 查询数据
  74.         query_data(connection)
  75.         # 更新数据
  76.         update_data(connection, 1, "Updated Name", 35)
  77.         # 查询更新后的数据
  78.         query_data(connection)
  79.         # 删除数据
  80.         delete_data(connection, 1)
  81.         # 查询删除后的数据
  82.         query_data(connection)
  83.         # 关闭数据库连接
  84.         connection.close()
  85. if __name__ == "__main__":
  86.     main()
复制代码
这个示例演示了如何使用 SQLite3 模块在 Python 中进行数据库操作。在实际应用中,你可能需要根据需求修改数据库文件路径和连接方式。这个例子创建了一个名为 Users 的表,包含 Id、Name 和 Age 字段。然后进行插入、查询、更新和删除操作。
 


来源:https://www.cnblogs.com/hanbing81868164/p/17955715
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具