在CentOS环境下,Python可以通过多种方式与数据库进行交互。以下是一些常见的数据库和相应的Python库,以及如何使用它们进行数据库操作的基本指南。
MySQL/MariaDB:
mysql-connector-python
或PyMySQL
。mysql-connector-python
为例):pip install mysql-connector-python
import mysql.connector
# 连接数据库
cnx = mysql.connector.connect(user='username', password='password',
host='127.0.0.1',
database='mydatabase')
# 创建游标
cursor = cnx.cursor()
# 执行查询
query = ("SELECT * FROM mytable")
cursor.execute(query)
# 获取查询结果
for row in cursor:
print(row)
# 关闭游标和连接
cursor.close()
cnx.close()
PostgreSQL:
psycopg2
。pip install psycopg2-binary
import psycopg2
# 连接数据库
conn = psycopg2.connect(dbname="mydatabase", user="username",
password="password", host="127.0.0.1")
# 创建游标
cur = conn.cursor()
# 执行查询
cur.execute("SELECT * FROM mytable")
# 获取查询结果
rows = cur.fetchall()
for row in rows:
print(row)
# 关闭游标和连接
cur.close()
conn.close()
SQLite:
import sqlite3
# 连接数据库
conn = sqlite3.connect('mydatabase.db')
# 创建游标
cursor = conn.cursor()
# 执行查询
cursor.execute("SELECT * FROM mytable")
# 获取查询结果
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭游标和连接
cursor.close()
conn.close()
MongoDB:
pymongo
。pip install pymongo
from pymongo import MongoClient
# 连接数据库
client = MongoClient('mongodb://localhost:27017/')
# 选择数据库和集合
db = client['mydatabase']
collection = db['mycollection']
# 插入文档
document = {"name": "John", "age": 30}
collection.insert_one(document)
# 查询文档
for doc in collection.find():
print(doc)
在进行数据库操作时,请确保遵循最佳实践,比如使用参数化查询来防止SQL注入攻击,以及在操作完成后适当地关闭数据库连接。此外,对于生产环境,建议使用虚拟环境来管理Python依赖。