使用 Python 连接 MySQL 数据库一般需要以下步骤:
- 安装需要的库:Python 连接 MySQL 可以使用 PyMySQL、mysql-connector-python 等库,这里以 PyMySQL 为例。
pip install pymysql
- 连接数据库:在 Python 中使用 PyMySQL 连接 MySQL 数据库需要先创建数据库连接对象,之后就可以使用该对象进行数据库操作。连接数据库需要指定数据库的基本信息,包括主机名、用户名、密码、数据库名等等;
import pymysql
config = {
'host': '127.0.0.1',
'port': 3306,
'user': 'root',
'password': '123456',
'db': 'test',
'charset': 'utf8mb4',
'cursorclass': pymysql.cursors.DictCursor
}
connection = pymysql.connect(**config)
其中,DictCursor 是指定返回结果以 Dict 字典的形式返回,而不是默认的 Tuple 格式。
- 执行 SQL 语句:使用数据库连接对象的 cursor() 方法创建游标对象,之后便可以使用 cursor 对象执行 SQL 语句。
sql = "SELECT * FROM user"
with connection.cursor() as cursor:
cursor.execute(sql)
result = cursor.fetchall()
print(result)
上面代码是执行了一个简单的 SQL 查询语句,并将结果输出。
- 关闭数据库连接:完成操作后,需要关闭数据库连接对象。
connection.close()
下面是一个完整的连接 MySQL 数据库并执行查询语句的示例:
import pymysql
config = {
'host': '127.0.0.1',
'port': 3306,
'user': 'root',
'password': '123456',
'db': 'test',
'charset': 'utf8mb4',
'cursorclass': pymysql.cursors.DictCursor
}
# 创建连接对象
connection = pymysql.connect(**config)
# 执行查询语句并返回结果
sql = "SELECT * FROM user"
with connection.cursor() as cursor:
cursor.execute(sql)
result = cursor.fetchall()
print(result)
# 关闭连接对象
connection.close()
另外,这里再提供一个插入数据到数据库的示例:
import pymysql
config = {
'host': '127.0.0.1',
'port': 3306,
'user': 'root',
'password': '123456',
'db': 'test',
'charset': 'utf8mb4',
'cursorclass': pymysql.cursors.DictCursor
}
# 创建连接对象
connection = pymysql.connect(**config)
# 插入数据
sql = "INSERT INTO user (name, age) VALUES (%s, %s)"
with connection.cursor() as cursor:
cursor.execute(sql, ('Bob', 18))
connection.commit()
# 查询结果
sql = "SELECT * FROM user"
with connection.cursor() as cursor:
cursor.execute(sql)
result = cursor.fetchall()
print(result)
# 关闭连接对象
connection.close()
上面代码中插入了一条数据,然后查询并输出结果。需要注意的是,在执行插入操作后需要主动调用 connection.commit() 方法提交更改才能生效。