推荐答案
在 Python 中进行数据库操作通常使用数据库连接库,如 sqlite3、mysql-connector-python 或 psycopg2。以下是使用这些库进行数据库操作的示例代码:
SQLite 示例
// www.javascriptcn.com code example
import sqlite3
# 连接到 SQLite 数据库(如果数据库不存在,则会自动创建)
conn = sqlite3.connect('example.db')
# 创建一个游标对象
cursor = conn.cursor()
# 创建一个表
cursor.execute('''CREATE TABLE IF NOT EXISTS stocks
(date text, trans text, symbol text, qty real, price real)''')
# 插入一条记录
cursor.execute("INSERT INTO stocks VALUES ('2023-10-01', 'BUY', 'AAPL', 100, 136.5)")
# 提交事务
conn.commit()
# 查询数据
cursor.execute("SELECT * FROM stocks")
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭连接
conn.close()MySQL 示例
// www.javascriptcn.com code example
import mysql.connector
# 连接到 MySQL 数据库
conn = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 创建一个游标对象
cursor = conn.cursor()
# 创建一个表
cursor.execute('''CREATE TABLE IF NOT EXISTS stocks
(date text, trans text, symbol text, qty real, price real)''')
# 插入一条记录
cursor.execute("INSERT INTO stocks VALUES ('2023-10-01', 'BUY', 'AAPL', 100, 136.5)")
# 提交事务
conn.commit()
# 查询数据
cursor.execute("SELECT * FROM stocks")
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭连接
conn.close()PostgreSQL 示例
// www.javascriptcn.com code example
import psycopg2
# 连接到 PostgreSQL 数据库
conn = psycopg2.connect(
host="localhost",
database="yourdatabase",
user="yourusername",
password="yourpassword"
)
# 创建一个游标对象
cursor = conn.cursor()
# 创建一个表
cursor.execute('''CREATE TABLE IF NOT EXISTS stocks
(date text, trans text, symbol text, qty real, price real)''')
# 插入一条记录
cursor.execute("INSERT INTO stocks VALUES ('2023-10-01', 'BUY', 'AAPL', 100, 136.5)")
# 提交事务
conn.commit()
# 查询数据
cursor.execute("SELECT * FROM stocks")
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭连接
conn.close()本题详细解读
数据库连接
在 Python 中,数据库操作的第一步是建立与数据库的连接。不同的数据库有不同的连接方式:
- SQLite:使用
sqlite3.connect()方法连接到一个 SQLite 数据库文件。如果文件不存在,SQLite 会自动创建它。 - MySQL:使用
mysql.connector.connect()方法连接到 MySQL 数据库,需要提供主机名、用户名、密码和数据库名。 - PostgreSQL:使用
psycopg2.connect()方法连接到 PostgreSQL 数据库,同样需要提供主机名、用户名、密码和数据库名。
游标对象
连接成功后,需要创建一个游标对象(cursor),用于执行 SQL 语句。游标对象是数据库操作的核心,所有的 SQL 语句都是通过游标对象执行的。
执行 SQL 语句
通过游标对象的 execute() 方法可以执行 SQL 语句。常见的操作包括创建表、插入数据、更新数据、删除数据等。
提交事务
在执行了修改数据库的操作(如插入、更新、删除)后,需要调用 commit() 方法提交事务,以确保更改生效。
查询数据
通过 execute() 方法执行查询语句后,可以使用 fetchall() 方法获取所有查询结果,或者使用 fetchone() 方法获取单条记录。
关闭连接
操作完成后,应调用 close() 方法关闭数据库连接,以释放资源。
注意事项
- 异常处理:在实际应用中,建议使用
try-except块来捕获和处理数据库操作中的异常。 - SQL 注入:在执行 SQL 语句时,应避免直接拼接字符串,以防止 SQL 注入攻击。可以使用参数化查询来避免这一问题。
- 连接池:在高并发场景下,建议使用连接池来管理数据库连接,以提高性能。