sqlite3 python

admin 51 0

使用 SQLite3 进行 Python 数据库编程

在 Python 中,我们可以使用内置的 sqlite3 模块来操作 SQLite 数据库,SQLite 是一个轻量级的数据库,它存储在一个单一的磁盘文件上,不需要一个特定的服务器进程,这使得 SQLite 非常适合于小型应用程序和脚本,可以在 Python 中直接访问和操作。

下面是一个简单的示例,展示了如何使用 Python 的 sqlite3 模块来创建一个数据库,定义表,插入数据,以及查询数据。

1. 我们需要导入 sqlite3 模块:

import sqlite3

2. 连接到 SQLite 数据库,如果数据库不存在,它将被创建:

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

3. 创建一个游标对象,这个对象允许我们执行 SQL 命令:

cursor = conn.cursor()

4. 使用游标对象执行 SQL 命令来创建表,我们可以创建一个名为 "students" 的表,其中包含 "id", "name", 和 "age" 字段:

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

5. 接下来,我们可以通过插入命令向表中添加数据:

cursor.execute("INSERT INTO students (name, age) VALUES ('Alice', 20)")
cursor.execute("INSERT INTO students (name, age) VALUES ('Bob', 22)")
cursor.execute("INSERT INTO students (name, age) VALUES ('Charlie', 18)")

6. 然后,我们可以通过查询命令来检索数据:

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

7. 记得关闭连接:

conn.close()

整个代码示例如下:

import sqlite3

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

# 创建一个游标对象(cursor)用于执行 SQL 命令
cursor = conn.cursor()

# 创建一个名为 "students" 的表,包含 id, name, age 字段
cursor.execute('''CREATE TABLE students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')

# 向 "students" 表中插入数据
cursor.execute("INSERT INTO students (name, age) VALUES ('Alice', 20)")
cursor.execute("INSERT INTO students (name, age) VALUES ('Bob', 22)")
cursor.execute("INSERT INTO students (name, age) VALUES ('Charlie', 18)")

# 从 "students" 表中查询数据并打印结果
cursor.execute("SELECT * FROM students")
for row in cursor:
    print(row)
    
# 关闭数据库连接
conn.close()

这只是一个基本的示例,你可以根据你的需求进一步扩展和优化代码,你可以添加错误处理来捕获和处理可能发生的错误,或者使用参数化查询来避免 SQL 注入攻击,SQLite3 和 Python 的组合是一个非常强大和灵活的工具,可以用于各种应用程序和项目。