python用函数写mysql的增删查改且都用%s代替
时间: 2024-02-16 21:00:20 浏览: 101
python操作mysql数据库实现增删查改
好的,我可以为您提供Python函数来执行MySQL的增删查改操作,并使用%s作为占位符来代替变量。请确保您已经安装了Python MySQL数据库驱动程序。下面是示例代码:
```python
import mysql.connector
# 连接到MySQL数据库
def connect():
cnx = mysql.connector.connect(user='your_username', password='your_password', host='your_host', database='your_database')
return cnx
# 关闭MySQL数据库连接
def close(cnx):
cnx.close()
# 执行MySQL查询
def execute_query(query, values):
cnx = connect()
cursor = cnx.cursor()
cursor.execute(query, values)
result = cursor.fetchall()
cursor.close()
close(cnx)
return result
# 执行MySQL操作(增、删、改)
def execute_operation(query, values):
cnx = connect()
cursor = cnx.cursor()
cursor.execute(query, values)
cnx.commit()
cursor.close()
close(cnx)
# 插入数据
def insert_data(data):
query = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)"
values = (data['column1'], data['column2'], data['column3'])
execute_operation(query, values)
# 修改数据
def update_data(data):
query = "UPDATE table_name SET column1 = %s, column2 = %s WHERE column3 = %s"
values = (data['column1'], data['column2'], data['column3'])
execute_operation(query, values)
# 删除数据
def delete_data(data):
query = "DELETE FROM table_name WHERE column1 = %s"
values = (data['column1'],)
execute_operation(query, values)
# 查询数据
def select_data(data):
query = "SELECT * FROM table_name WHERE column1 = %s"
values = (data['column1'],)
result = execute_query(query, values)
return result
```
在上面的代码中,您需要将“your_username”、“your_password”、“your_host”和“your_database”替换为您自己的MySQL数据库连接详细信息,将“table_name”替换为您要操作的表的名称,将“column1”、“column2”和“column3”替换为您要操作的列的名称。
要插入、更新、删除和查询数据,请使用相应的函数,并将数据作为包含列名和值的字典传递。例如:
```python
# 插入数据
data = {'column1': 'value1', 'column2': 'value2', 'column3': 'value3'}
insert_data(data)
# 修改数据
data = {'column1': 'new_value1', 'column2': 'new_value2', 'column3': 'value3'}
update_data(data)
# 删除数据
data = {'column1': 'value1'}
delete_data(data)
# 查询数据
data = {'column1': 'value1'}
result = select_data(data)
print(result)
```
请注意,在查询数据时,使用execute_query函数而不是execute_operation函数,并将结果作为返回值返回。
阅读全文