重命名表结构数据库
oracle
1、复制表结构 建议采用 Tool---->Export User Object方式去创建表信息,复制表结构的方式没有表的索引信息
create table sms_send_record_bak_202220615 as select * from sms_send_record where 1=2;
2、插入短信数据
insert into sms_send_record_bak_202220615 select * from sms_send_record where send_date > to_date('2022-05-1 00:00:00','yyyy-mm-dd hh24:mi:ss')
3、查询数据短信
select * from sms_send_record_bak_202220615;
4、重命名
//RENAME sms_send_record TO sms_send_record_bak_202220614;
//RENAME sms_send_record_bak_202220615 TO sms_send_record;
//RENAME sms_send_record_bak_202220614 TO sms_send_record_bak_202220615;
5、给新表创建主键和索引
注解:
在RENAME表语句中:
首先,指定将要重命名的表名称。
其次,指定新的表名。新名称不能与同一模式中的另一个表相同。
请注意,一旦执行了RENAME语句,就不能回滚了。
当重命名表时,Oracle自动将旧表上的索引,约束和授权转移到新表上。
另外,它使依赖重命名表(原表)的所有对象失效,如视图,存储过程,函数和同义词。
sqlserver:
1、创建表结构
select * into t_b_prescription_drugstore_bak_20220615
from t_b_prescription_drugstore where 1= 2;
2、复制数据
insert into t_b_prescription_drugstore_bak_20220615(id,prescription_id,drugstore_id,create_datetime)
select id,prescription_id,drugstore_id,create_datetime from t_b_prescription_drugstore
where create_datetime > '2022-06-01'
3、设置主键命令
4、设置主键自增起始值命令
5、修复数据
insert into t_b_prescription_drugstore(prescription_id,drugstore_id,create_datetime)
select prescription_id,drugstore_id,create_datetime from t_b_prescription_drugstore_bak_20220616
where prescription_id in ('处方ID');
--select:t_b_prescription_drugstore_bak_20220616
--insert:t_b_prescription_drugstore
6、sqlserver 重命名语句操作
exec sp_rename 't_b_prescription_drugstore', 't_b_prescription_drugstore_bak_20220616';
exec sp_rename 't_b_prescription_drugstore_bak_20220615', 't_b_prescription_drugstore';
重命名表名
exec sp_rename 'oldName', 'newName';
重命名字段名
exec sp_rename 'tableName.[oldName]', 'newName', 'column';