Python与数据库:如何用Python来操作数据库? Python作为一种高级编程语言,已经成为大多数开发人员的首选语言之一。它的简单性和可读性使得它在日常开发中非常方便,因此 Python 也成为了数据库操作的首选语言。 Python 与数据库的操作关系密切,Python 中的许多常用库都可以与数据库进行交互,比如 Django、SQLAlchemy、pymysql、psycopg2 等。 本文将介绍 Python 如何与数据库交互,并演示了一个 SQLite3 数据库的操作实例。 1. 安装 SQLite3 SQLite3 是一个轻量级的关系型数据库,与 Python 结合使用非常简单。在 Python 中安装 SQLite3 可以使用 pip 命令,在终端中执行下面的命令即可: ``` pip install sqlite3 ``` 2. 连接 SQLite3 数据库 Python 提供了 sqlite3 模块来操作 SQLite3 数据库。首先需要通过 sqlite3 模块连接 SQLite3 数据库,示例代码如下: ``` python import sqlite3 conn = sqlite3.connect('test.db') ``` 此代码将创建一个名为 test.db 的数据库,并将数据库连接到 Python 代码中。 3. 创建表格 在 SQLite3 数据库中,所有数据都存储在表格中。当连接到一个 SQLite3 数据库时,我们可以通过执行 SQL 命令来创建一个新的表格。下面的代码将创建一个名为 company 的表格。 ``` python import sqlite3 conn = sqlite3.connect('test.db') print("Opened database successfully") conn.execute('''CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);''') print("Table created successfully") conn.close() ``` 执行该代码后,将输出 "Opened database successfully" 和 "Table created successfully"。现在,该数据库将包含一个名为 company 的表格。 4. 插入数据 在表格中插入数据是一个常见的操作,SQL 语法中的 INSERT 命令可以实现此类操作。下面的代码将通过 SQL 语句将数据插入到表格中。 ``` python import sqlite3 conn = sqlite3.connect('test.db') print("Opened database successfully") conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (1, 'Paul', 32, 'California', 20000.00)") conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (2, 'Allen', 25, 'Texas', 15000.00)") conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (3, 'Teddy', 23, 'Norway', 20000.00)") conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (4, 'Mark', 25, 'Rich-Mond', 65000.00)") conn.commit() print("Records created successfully") conn.close() ``` 执行该代码后,将输出 "Opened database successfully" 和 "Records created successfully"。现在,该数据库将包含所插入的数据。 5. 查询数据 使用 SQL 语句 SELECT 命令可以从表格中获取数据。下面的代码将查询表格中所有的数据,并将结果输出到屏幕上。 ``` python import sqlite3 conn = sqlite3.connect('test.db') print("Opened database successfully") cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print("ID = ", row[0]) print("NAME = ", row[1]) print("ADDRESS = ", row[2]) print("SALARY = ", row[3], "\n") print("Operation done successfully") conn.close() ``` 执行该代码后,将输出查询结果。 6. 更新数据 使用 SQL 语句 UPDATE 命令可以更新表格中的数据。下面的代码将更新表格中 ID 为 1 的数据的 SALARY 字段。 ``` python import sqlite3 conn = sqlite3.connect('test.db') print("Opened database successfully") conn.execute("UPDATE COMPANY set SALARY = 25000.00 where ID = 1") conn.commit() print("Total number of rows updated :", conn.total_changes) cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print("ID = ", row[0]) print("NAME = ", row[1]) print("ADDRESS = ", row[2]) print("SALARY = ", row[3], "\n") print("Operation done successfully") conn.close() ``` 执行该代码后,将输出更新后的数据。 7. 删除数据 使用 SQL 语句 DELETE 命令可以从表格中删除数据。下面的代码将删除表格中所有 SALARY 字段小于 2000 的数据。 ``` python import sqlite3 conn = sqlite3.connect('test.db') print("Opened database successfully") conn.execute("DELETE from COMPANY where SALARY < 2000") conn.commit() print("Total number of rows deleted :", conn.total_changes) cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print("ID = ", row[0]) print("NAME = ", row[1]) print("ADDRESS = ", row[2]) print("SALARY = ", row[3], "\n") print("Operation done successfully") conn.close() ``` 执行该代码后,将输出删除后的数据。 总结 以上就是 Python 与 SQLite3 数据库进行交互的基本操作方法。在实际应用中,Python 还可以通过其他库与不同类型的数据库进行交互。Python 作为一种高级编程语言,具有简单性、可读性和灵活性,使得 Python 与数据库的交互变得更加容易。如果您正在寻找一种简单且高效的数据库操作语言,或者想要深入了解 Python 与数据库的交互,Python 绝对是您不可错过的选择。