Python3如何操作SQLite嵌入式数据库?

Python3如何操作SQLite嵌入式数据库?

技术教程gslnedu2025-02-01 12:33:3715A+A-

#暑期创作大赛#

SQLite在Python上的应用非常广泛,它是一个轻量级的嵌入式数据库引擎,适用于小型项目和临时数据存储。下面是一些SQLite在Python上的常见应用:

  1. 嵌入式数据库:SQLite是嵌入式数据库,可以将其嵌入到Python应用程序中,无需额外的服务器或配置。
  2. 数据存储:您可以使用SQLite来存储和管理应用程序的数据,例如用户信息、配置设置和日志记录。
  3. 桌面应用程序:SQLite可以用于开发桌面应用程序,例如个人管理工具、小型CRM系统和日历应用。
  4. 移动应用程序:SQLite是Android和iOS平台上的默认数据库引擎,您可以在Python中使用SQLite来开发移动应用程序。
  5. 数据分析:SQLite可以在数据分析和数据科学项目中使用,您可以将数据加载到SQLite数据库中,并使用SQL查询和Python进行数据分析和可视化。
  6. Web应用程序:SQLite可以用于开发轻量级的Web应用程序,例如博客、论坛和任务管理工具。
  7. 测试和开发:SQLite非常适合用于测试和开发目的,您可以在测试环境中使用SQLite来模拟和测试数据存储和查询。
  8. 教育和学习:由于SQLite易于使用和理解,它也是教育和学习数据库概念的良好选择。

SQLite在Python中的应用非常灵活,可以根据项目需求进行定制和扩展。通过Python的sqlite3模块,您可以方便地连接、操作和管理SQLite数据库。

当使用Python 3操作SQLite时,以下是25个常见的代码示例,每个示例都有详细的注释:

导入SQLite模块:

import sqlite3

连接到SQLite数据库:

conn = sqlite3.connect('database.db')

创建一个游标对象:

cursor = conn.cursor()

创建一个表:

cursor.execute('''CREATE TABLE students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')

插入数据到表中:

cursor.execute("INSERT INTO students (name, age) VALUES ('John', 20)")

提交更改:

conn.commit()

查询表中的所有数据:

cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()
for row in rows:
    print(row)

查询特定条件的数据:

cursor.execute("SELECT * FROM students WHERE age > 18")

更新表中的数据:

cursor.execute("UPDATE students SET age = 21 WHERE name = 'John'")

删除表中的数据:

cursor.execute("DELETE FROM students WHERE name = 'John'")

查询表中的列名:

cursor.execute("PRAGMA table_info(students)")
columns = cursor.fetchall()
for column in columns:
    print(column[1])

使用占位符插入数据:

name = 'Alice'
age = 22
cursor.execute("INSERT INTO students (name, age) VALUES (?, ?)", (name, age))

使用占位符查询数据:

age = 20
cursor.execute("SELECT * FROM students WHERE age > ?", (age,))

使用事务提交更改:

with conn:
    conn.execute("UPDATE students SET age = 23 WHERE name = 'Alice'")

回滚事务:

conn.rollback()

打开并执行SQL文件:

with open('script.sql', 'r') as file:
    sql_script = file.read()
cursor.executescript(sql_script)

获取最后插入的行的ID:

last_row_id = cursor.lastrowid

使用连接的上下文管理器自动关闭连接:

with sqlite3.connect('database.db') as conn:
    cursor = conn.cursor()
    # 执行数据库操作

执行带有参数的多个SQL语句:

sql_query = "INSERT INTO students (name) VALUES (?);"
data = [('Bob',), ('Carol',), ('Dave',)]
cursor.executemany(sql_query, data)

执行事务来批量插入数据:

data = [('Bob', 21), ('Carol', 22), ('Dave', 23)]
with conn:
    conn.executemany("INSERT INTO students (name, age) VALUES (?, ?)", data)

使用ORDER BY子句按照特定列排序查询结果:

cursor.execute("SELECT * FROM students ORDER BY age DESC")Python

使用LIMIT子句限制查询结果的数量:

cursor.execute("SELECT * FROM students LIMIT 10")

使用OFFSET子句设置查询结果的偏移量:

cursor.execute("SELECT * FROM students LIMIT 10 OFFSET 20")

使用JOIN语句联接多个表:

cursor.execute("SELECT students.name, grades.grade FROM students JOIN grades ON students.id = grades.student_id")

关闭游标和连接:

cursor.close()conn.close()
点击这里复制本文地址 以上内容由朽木教程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

朽木教程网 © All Rights Reserved.  蜀ICP备2024111239号-8