Python与SQL的交互通常是通过数据库连接库来实现的。以下是一些常见数据库及其对应的Python库,以及如何使用这些库与SQL进行交互的基本步骤:
import sqlite3
# 连接到SQLite数据库(如果不存在,则创建)
conn = sqlite3.connect('example.db')
# 创建一个游标对象
cursor = conn.cursor()
# 执行SQL命令
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)')
cursor.execute("INSERT INTO users (name) VALUES ('Alice')")
cursor.execute("INSERT INTO users (name) VALUES ('Bob')")
# 提交更改
conn.commit()
# 查询数据
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭连接
conn.close()
mysql-connector-python
库)首先,安装库:
pip install mysql-connector-python
然后,使用以下代码连接和交互:
import mysql.connector
# 连接到MySQL数据库
conn = mysql.connector.connect(
host='localhost',
user='your_username',
password='your_password',
database='your_database'
)
# 创建一个游标对象
cursor = conn.cursor()
# 执行SQL命令
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255))')
cursor.execute("INSERT INTO users (name) VALUES ('Alice')")
cursor.execute("INSERT INTO users (name) VALUES ('Bob')")
# 提交更改
conn.commit()
# 查询数据
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭连接
conn.close()
psycopg2
库)首先,安装库:
pip install psycopg2
然后,使用以下代码连接和交互:
import psycopg2
# 连接到PostgreSQL数据库
conn = psycopg2.connect(
host='localhost',
dbname='your_database',
user='your_username',
password='your_password'
)
# 创建一个游标对象
cursor = conn.cursor()
# 执行SQL命令
cursor.execute('CREATE TABLE IF NOT EXISTS users (id SERIAL PRIMARY KEY, name VARCHAR(255))')
cursor.execute("INSERT INTO users (name) VALUES ('Alice')")
cursor.execute("INSERT INTO users (name) VALUES ('Bob')")
# 提交更改
conn.commit()
# 查询数据
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭连接
conn.close()
注意:在实际应用中,请确保不要将敏感信息(如数据库凭据)硬编码到脚本中。可以使用环境变量、配置文件或密钥管理服务来安全地存储这些信息。