【概述】 oracle的create table as select * from a。这种语法非常方便,以前经常用来做表备份。请问如果要在tidb里面实现这个语法,需要怎么开发?
题外话:
mysql 里这个语法很不方便,ddl+dml 不是一个好语句
通过底层实现数据库文件复制并重新命名,并在元数据进行信息添加就可以实现了,速度又快又不会出现错误,当然这个适合全量复制的那种
不现实,带条件的怎么复制
先create table like,在BATCH into看能不能解决你的问题
基本上不现实,还是等着原生支持吧
不考虑易用性。感觉实现难度不大。
不如dumpling导出,然后create table like,最后lightning导入,batch on非事务语句效率还是比较差
你可以先建表,再用insert into select *
1 个赞
这样操作比较繁琐
繁琐是繁琐了一点,但是执行效率比batch on高不少,batch on太慢了
两步:create table new_table_name like old_table_name;
insert into new_table_name select * from old_table_name;
看来还是得分两步走呀
CREATE TABLE new_table AS SELECT column1, column2, function(column3) AS new_column FROM old_table WHERE condition;
建表,然后insert into select * from …
1 个赞
insert into
只能create table;再进行 insert into select
1、create table xxx like aaa;
2、insert into xxx select * from aaa;
先建表,再插入