python在数据表里面查询出来的数据创建新表保存在数据库中
时间: 2023-11-20 11:04:45 浏览: 32
你可以使用以下步骤将查询出来的数据创建新表保存在数据库中:
1. 连接到数据库,获取游标对象。
2. 执行SELECT语句,查询需要保存的数据。
3. 使用CREATE TABLE语句创建新表,定义表结构和字段类型。
4. 使用INSERT INTO语句将查询出来的数据插入到新表中。
5. 提交事务并关闭数据库连接。
下面是一个示例代码,假设我们需要从名为`students`的数据表中查询所有年龄大于等于18岁的学生,并将他们的姓名和年龄保存到名为`adult_students`的新表中:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='password',
database='test'
)
# 获取游标
cursor = conn.cursor()
# 查询数据
sql = "SELECT name, age FROM students WHERE age >= 18"
cursor.execute(sql)
data = cursor.fetchall()
# 创建新表
create_table_sql = '''
CREATE TABLE IF NOT EXISTS adult_students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
age INT
)
'''
cursor.execute(create_table_sql)
# 插入数据
insert_sql = "INSERT INTO adult_students (name, age) VALUES (%s, %s)"
cursor.executemany(insert_sql, data)
# 提交事务
conn.commit()
# 关闭连接
cursor.close()
conn.close()
```
以上代码中,我们首先使用SELECT语句查询年龄大于等于18岁的学生,并将查询结果保存到变量`data`中。然后使用CREATE TABLE语句创建名为`adult_students`的新表,其中包含`id`、`name`和`age`三个字段。最后,使用INSERT INTO语句将查询出来的数据插入到新表中,并提交事务并关闭数据库连接。