Python 可以通过 PyMySQL、mysql-connector-python 等库实现对 MySQL 数据库的操作。以下是一个使用 PyMySQL 连接 MySQL 数据库并进行基本操作的示例:
首先,需要安装 PyMySQL 库:
pip install PyMySQL
连接数据库:
import pymysql
# 打开数据库连接
connection = pymysql.connect(host='localhost', user='root', password='password', db='test', charset='utf8mb4')
# 获取游标
cursor = connection.cursor()
# 执行 SQL 语句
cursor.execute("SELECT VERSION()")
# 获取数据
data = cursor.fetchone()
print("Database version: %s" % data)
# 关闭数据库连接
connection.close()
上述代码中,需要填写数据库的连接信息,包括主机名、用户名、密码、数据库名称和字符集等。cursor()
方法获取游标,execute()
方法执行 SQL 语句。通过 fetchone()
方法获取一条数据,数据格式为元组类型。最后,使用 close()
方法关闭数据库连接。
插入数据:
import pymysql
# 打开数据库连接
connection = pymysql.connect(host='localhost', user='root', password='password', db='test', charset='utf8mb4')
# 获取游标
cursor = connection.cursor()
# SQL 插入语句
sql = "INSERT INTO employee(name, age, gender, salary) VALUES ('Tom', 25, 'male', 5000)"
try:
# 执行 SQL 语句
cursor.execute(sql)
# 提交到数据库执行
connection.commit()
print("插入成功")
except:
# 发生错误时进行回滚
connection.rollback()
print("插入失败")
# 关闭数据库连接
connection.close()
这段代码首先执行了 INSERT SQL 语句将数据插入到 employee 表中,然后使用 commit()
方法提交事务,如果发生错误则使用 rollback()
方法回滚事务。最后关闭数据库连接。
查询数据:
import pymysql
# 打开数据库连接
connection = pymysql.connect(host='localhost', user='root', password='password', db='test', charset='utf8mb4')
# 获取游标
cursor = connection.cursor()
# SQL 查询语句
sql = "SELECT * FROM employee"
try:
# 执行 SQL 语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
name = row[0]
age = row[1]
gender = row[2]
salary = row[3]
# 打印结果
print("name=%s,age=%d,gender=%s,salary=%d" % (name, age, gender, salary))
except:
print("Error: unable to fetch data")
# 关闭数据库连接
connection.close()
这段代码实现了 SELECT SQL 语句查询 employee 表的数据,并使用 fetchall()
方法获取所有记录。通过循环遍历每条数据,使用元组的下标访问每个字段的值并打印结果。最后关闭数据库连接。
以上是 Python 连接 MySQL 数据库的基本操作,需要根据具体应用需求选择不同的库和方法,并注意安全性和可维护性。