如何把mysql旧表数据迁移到新表

python把MySQL旧表数据迁移到新表

1、流程

1、连接数据库,获取游标
2、获取旧表名,所有表列名
3、获取表数据
4、获取新表最大id
5、拼接sql,并写入数据库
6、关闭数据库

2、代码示例

# -*- coding: utf-8 -*-

"""
@contact: 微信 1257309054
@file: 旧表迁移新表.py
@time: 2024/10/31 11:07
@author: LDC
"""
from datetime import datetime

import pymysql


def get_cursor(database)
### 创建迁移数据 对于在 MySQL 中创建并将现有数据迁移到该的过程,可以遵循以下方法。由于 MySQL 不支持直接通过 `ALTER TABLE` 向已存在的添加分区[^1],因此通常的做法是重创建一个的带有所需结构的,并随后将旧表中的数据转移到里。 #### 步骤一:定义目标格结构 假设有一个源具有如下字段: | id | name | creation_date | last_updated | role_id | |----------|----------|--------------------|---------------------|---------| | INT(11) | VARCHAR | DATE | TIMESTAMP | INT(11) | 为了创建一个类似的用于接收来自上述的数据,在 SQL 客户端执行下面语句来建立名为 `new_table_name` 的: ```sql CREATE TABLE new_table_name ( id INT(11), name VARCHAR(255), -- 假设name的最大长度为255字符 creation_date DATE, last_updated TIMESTAMP, role_id INT(11) ); ``` 请注意,这里仅作为示例;实际应用时应根据具体需求调整列名及其属性。 #### 步骤二:复制原始记录到内 一旦确认已经成功构建完毕,则可以通过 INSERT INTO ... SELECT 语法把原里的全部条目导入进来: ```sql INSERT INTO new_table_name (id, name, creation_date, last_updated, role_id) SELECT id, name, creation_date, last_updated, role_id FROM old_table_name; ``` 这条命令会选取 `old_table_name` 内的所有行,并将其插入至刚刚创建的之中。如果两个之间存在差异(比如某些列不存在于另一张),则需相应修改此查询以匹配两者的模式。 完成以上操作之后,便实现了从原有的数据转移过程。不过需要注意的是,在正式环境中实施此类变更之前应当充分测试整个流程,确保不会丢失任何重要资料并且验证过后的方案确实可行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东木月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值