匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

Python与数据库:如何用Python来操作数据库?

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 绝对是您不可错过的选择。