在Python中操作MySQL数据库,最常用的库之一是`mysql-connector-python`。以下是一个使用`mysql-connector-python`连接MySQL数据库并执行简单查询和插入操作的示例。请注意,您需要先通过pip安装`mysql-connector-python`库(如果尚未安装的话)。
首先,确保您已经安装了`mysql-connector-python`:
pip install mysql-connector-python
然后,您可以使用以下Python代码来连接MySQL数据库并执行操作:
import mysql.connector
from mysql.connector import Error
def create_connection(host_name, user_name, user_password, db_name):
""" 创建一个数据库连接并返回连接对象 """
connection = None
try:
connection = mysql.connector.connect(
host=host_name,
user=user_name,
passwd=user_password,
database=db_name
)
print("连接成功")
except Error as e:
print(f"连接失败: {e}")
return connection
def execute_query(connection, query):
""" 使用连接执行查询并返回结果 """
cursor = connection.cursor()
try:
cursor.execute(query)
connection.commit()
print("查询成功")
except Error as e:
print(f"查询失败: {e}")
return cursor
def main():
host_name = "localhost"
user_name = "your_username" # 替换为您的MySQL用户名
user_password = "your_password" # 替换为您的MySQL密码
db_name = "your_dbname" # 替换为您的数据库名
connection = create_connection(host_name, user_name, user_password, db_name)
if connection.is_connected():
db_Info = "SELECT database();"
cursor = execute_query(connection, db_Info)
print("当前数据库: ", cursor.fetchone())
# 示例插入操作
sql_insert_query = """ INSERT INTO your_table_name (column1, column2) VALUES (%s, %s) """ # 替换为您的表名和列名
val = ("value1", "value2") # 替换为您要插入的值
cursor = execute_query(connection, sql_insert_query, val) # 注意:这里的execute_query需要修改以支持参数传递
cursor.close()
else:
print("无法连接到数据库")
connection.close()
if __name__ == '__main__':
main()
# 注意:对于插入操作,上面的execute_query函数需要修改以支持参数传递,例如使用cursor.execute(query, val)
**重要提示**:
- 替换`your_username`、`your_password`、`your_dbname`、`your_table_name`、`column1`、`column2`、`"value1"`、`"value2"`为您自己的MySQL数据库凭据和表结构。
- 对于插入操作,请注意上面的`execute_query`函数示例并没有直接支持传递参数(如`val`),因为`cursor.execute()`需要直接调用并传递SQL查询和参数。您可能需要修改`execute_query`函数以接受参数并直接在`cursor.execute()`中传递它们。
- 出于安全考虑,始终使用参数化查询来避免SQL注入攻击。
- 确保您的MySQL服务正在运行,并且您有权访问指定的数据库和表。