📜  SQL 使用Python和 SQLite |设置 2(1)

📅  最后修改于: 2023-12-03 15:20:16.435000             🧑  作者: Mango

SQL 使用Python和 SQLite |设置 2

简介

在本文中,我们将介绍如何使用 Python 和 SQLite 数据库来执行 SQL 查询和操作。SQLite 是一个轻量级数据库,因此它非常受欢迎。Python 也是一种流行的编程语言,它易于学习和使用。

准备工作

在开始本教程之前,您需要确保已满足以下要求:

  • 安装 Python 3.x
  • 安装 SQLite

您可以使用以下命令在终端上检查 Python 和 SQLite 是否已正确安装:

python3 --version
sqlite3 --version
连接到 SQLite 数据库

首先,我们需要建立与 SQLite 数据库的连接。在 Python 中,我们使用 "sqlite3" 模块来连接和管理 SQLite 数据库。要连接到数据库,我们使用 "connect()" 函数。

import sqlite3

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

以上代码将为我们创建一个"example.db"数据库文件,并返回一个连接对象。我们可以在文件系统中找到该文件,以查看 SQLite 数据库。

创建数据表

我们可以使用 SQL 命令在 SQLite 中创建数据表。我们可以通过 Python 的"execute()"函数执行 SQL 命令。让我们看一个示例,创建一个名为"employees"的数据表。

import sqlite3

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

conn.execute('''CREATE TABLE employees
               (id INTEGER PRIMARY KEY,
                name TEXT,
                dob DATE,
                department TEXT);''')

以上 SQL 命令将在名为“example.db”的数据库中创建一个名为“employees”的表,并定义四个列。"id"列将用作主键。

插入数据

定义了表结构后,我们可以插入数据。我们可以使用 SQL 命令"INSERT INTO"将数据插入表中。例如,让我们插入一些员工数据。

import sqlite3

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

conn.execute('''INSERT INTO employees (name, dob, department)
               VALUES ('Jack', '1990-01-01', 'HR');''')

conn.execute('''INSERT INTO employees (name, dob, department)
               VALUES ('John', '1995-02-03', 'Sales');''')

conn.execute('''INSERT INTO employees (name, dob, department)
               VALUES ('Jane', '1987-08-11', 'Marketing');''')

conn.execute('''INSERT INTO employees (name, dob, department)
               VALUES ('Alice', '1992-03-30', 'Engineering');''')

conn.commit()

以上代码将向“employees”表中插入四条记录。请注意,我们使用“commit()”函数提交更改。

查询数据

我们可以使用 SQL 命令"SELECT"从表中检索数据。使用 Python 的"execute()"函数执行 SQL 命令。如下所示,执行了一个查询:

import sqlite3

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

cursor = conn.execute('SELECT * FROM employees;')

for row in cursor:
    print(row)

以上代码将查询“employees”表中的所有数据,并将其输出到终端。

输出:
(1, 'Jack', '1990-01-01', 'HR')
(2, 'John', '1995-02-03', 'Sales')
(3, 'Jane', '1987-08-11', 'Marketing')
(4, 'Alice', '1992-03-30', 'Engineering')
更新数据

我们可以使用 SQL 命令"UPDATE"更新表中的数据。使用 Python 的"execute()"函数执行 SQL 命令。例如,让我们将员工“Jack”的部门更新为“Finance”。

import sqlite3

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

conn.execute('UPDATE employees SET department = ? WHERE name = ?', ('Finance', 'Jack'))

conn.commit()

以上代码将将“employees”表中所有名称为“Jack”的记录的“department”列更新为“Finance”。请注意,我们使用了“?”占位符,这是为了避免 SQL 注入攻击。

删除数据

我们可以使用 SQL 命令"DELETE FROM"删除表中的数据。如下所示,删除了名为“Jane”的员工数据。

import sqlite3

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

conn.execute('DELETE FROM employees WHERE name = ?', ('Jane',))

conn.commit()

以上代码将删除“employees”表中名称为“Jane”的所有记录。请注意,我们使用了“?”占位符。

结论

在本文中,我们学习了如何使用 Python 和 SQLite 数据库来执行 SQL 查询和操作。我们了解了如何连接到数据库,创建表格,插入数据,查询数据,更新数据和删除数据。SQLite 是一个灵活的数据库,Python 使数据操作变得简单和易于理解。

参考