在CentOS上配置Python连接数据库通常涉及以下几个步骤:
pymysql
用于MySQL,psycopg2
用于PostgreSQL。使用pip
安装所需的Python库。例如,安装pymysql
或psycopg2
:
pip install pymysql
# 或者
pip install psycopg2-binary
pymysql
):import pymysql
# 创建连接对象
connection = pymysql.connect(
host='localhost',
user='your_username',
password='your_password',
database='your_database'
)
# 创建游标对象
cursor = connection.cursor()
# 执行SQL查询
cursor.execute('SELECT * FROM your_table')
# 获取查询结果
results = cursor.fetchall()
# 打印结果
for row in results:
print(row)
# 关闭游标和连接
cursor.close()
connection.close()
psycopg2
):import psycopg2
# 创建连接对象
connection = psycopg2.connect(
dbname='your_database',
user='your_username',
password='your_password',
host='your_host',
port='your_port'
)
# 创建游标对象
cursor = connection.cursor()
# 执行SQL查询
cursor.execute('SELECT version()')
# 获取查询结果
db_version = cursor.fetchone()
print(f"Database version: {db_version}")
# 关闭游标和连接
cursor.close()
connection.close()
为了提高安全性和管理便利性,可以将数据库连接参数存储在配置文件中,如database.ini
:
[postgresql]
host = your_host
database = your_database
user = your_username
password = your_password
port = your_port
然后在Python代码中使用configparser
模块读取配置文件:
import psycopg2
from configparser import ConfigParser
def config(filename='database.ini', section='postgresql'):
parser = ConfigParser()
parser.read(filename)
db = {}
if parser.has_section(section):
params = parser.items(section)
for param in params:
db[param[0]] = param[1]
else:
raise Exception(f'Section {section} not found in the {filename} file')
return db
# 使用配置文件中的参数连接数据库
conn = psycopg2.connect(**config())
在实际应用中,应该使用try...except
块来捕获和处理可能的异常,如连接失败或执行SQL语句错误。此外,使用事务管理可以确保数据的一致性和完整性。
以上步骤展示了如何在CentOS上使用Python连接到MySQL和PostgreSQL数据库。根据具体的数据库类型和需求,可能需要调整连接库和连接参数。