在mysql数据库中有这么一个表,第一列有七个水果,第二列是主人的名字,一共有5条数据,如何使用python让第一列七个水果的一条数据变成七条,且第二列都是原始数据的主人名字
时间: 2023-10-30 15:04:41 浏览: 65
假设表名为`fruit_table`,第一列为`fruit`,第二列为`owner`,可以使用如下代码实现:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', user='username', password='password', database='database_name')
cursor = conn.cursor()
# 查询原始数据
select_sql = "SELECT * FROM fruit_table"
cursor.execute(select_sql)
results = cursor.fetchall()
# 将第一列的每个水果复制成新行,第二列为原始数据的主人名字
for result in results:
fruit = result[0]
owner = result[1]
for i in range(7):
insert_sql = f"INSERT INTO fruit_table (fruit, owner) VALUES ('{fruit}', '{owner}')"
cursor.execute(insert_sql)
conn.commit()
# 关闭连接
cursor.close()
conn.close()
```
这段代码会查询出原始数据,然后对于每一条数据,将第一列的水果复制成新行,插入到数据库中。注意,这里使用了字符串格式化来拼接SQL语句,需要注意SQL注入的问题。在实际生产环境中,应该使用参数化查询来避免SQL注入的问题。
阅读全文