欢迎访问宙启技术站
智能推送

通过Python在控制台中进行数据库查询和管理

发布时间:2023-12-11 14:15:30

在Python中,我们可以使用Python的内置库sqlite3来进行数据库查询和管理。SQLite是一个简单易用的轻量级关系数据库,无需服务器,只需要一个文件就可以进行数据库操作。

首先,我们需要导入sqlite3库,并连接到一个数据库文件。如果数据库文件不存在,则会创建一个新的数据库文件。

import sqlite3

# 连接到数据库
conn = sqlite3.connect('example.db')

接下来,我们可以创建一个游标对象,以便于执行SQL语句。

# 创建游标对象
cursor = conn.cursor()

现在我们可以执行SQL语句了。以下是一些常用的SQL语句操作。

1. 创建表

# 创建表
cursor.execute('''CREATE TABLE IF NOT EXISTS students
                    (id INTEGER PRIMARY KEY AUTOINCREMENT,
                    name TEXT NOT NULL,
                    age INTEGER NOT NULL);''')

2. 插入数据

# 插入数据
cursor.execute("INSERT INTO students (name, age) VALUES ('Alice', 20)")

3. 查询数据

# 查询数据
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()

for row in rows:
    print(row)

4. 更新数据

# 更新数据
cursor.execute("UPDATE students SET age = 21 WHERE name = 'Alice'")

5. 删除数据

# 删除数据
cursor.execute("DELETE FROM students WHERE name = 'Alice'")

在执行完所有操作后,我们需要提交事务并关闭数据库连接。

# 提交事务
conn.commit()

# 关闭数据库连接
conn.close()

下面是一个完整的示例,演示了如何通过Python在控制台中进行数据库查询和管理。

import sqlite3

# 连接到数据库
conn = sqlite3.connect('example.db')

# 创建游标对象
cursor = conn.cursor()

# 创建表
cursor.execute('''CREATE TABLE IF NOT EXISTS students
                    (id INTEGER PRIMARY KEY AUTOINCREMENT,
                    name TEXT NOT NULL,
                    age INTEGER NOT NULL);''')

# 插入数据
cursor.execute("INSERT INTO students (name, age) VALUES ('Alice', 20)")

# 查询数据
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()

for row in rows:
    print(row)

# 更新数据
cursor.execute("UPDATE students SET age = 21 WHERE name = 'Alice'")

# 删除数据
cursor.execute("DELETE FROM students WHERE name = 'Alice'")

# 提交事务
conn.commit()

# 关闭数据库连接
conn.close()

以上就是如何通过Python在控制台中进行数据库查询和管理的简单例子。SQLite具有简单易用的特性,适用于小型项目或原型开发。在实际的项目中,您可能需要使用更强大的数据库引擎,如MySQL或PostgreSQL,并结合Python的相应数据库驱动程序来执行类似的操作。