CTAS可一键复制表结构和数据,但不复制主键、索引、外键等约束;语法为CREATE TABLE new_table AS SELECT * FROM old_table;支持字段筛选、计算列、别名重命名及空表复制(WHERE 1=0)。

CREATE TABLE ... AS SELECT(简称 CTAS)是 SQL 中快速复制表结构和数据最常用的方法之一,一条语句就能同时完成建表 + 插入数据,无需先建表再 INSERT。但要注意:它只复制字段定义和数据,不复制主键、索引、外键、默认值、自增属性等约束信息。
核心写法很简单:
new_table,字段名、类型(尽可能推断)、顺序、以及所有行数据都来自 old_table。只需让 SELECT 不返回任何行,常用技巧是加一个恒假条件:
LIKE 语法做纯结构复制,但 CTAS + WHERE FALSE 兼容性更广。SELECT 中使用别名会影响新表的字段名:
t2 的字段就是 user_id 和 full_name,不是原名。age + 1),必须显式加别名,否则某些数据库(如 MySQL 8.0+)会报错:CTAS 行为略有不同,使用前建议确认:
CREATE TABLE ... AS SELECT,但默认不继承原表的统计信息,需手动收集。SELECT ... INTO 替代(仅限首次建表)。基本上就这些。用好 CTAS 能省掉不少 DDL + DML 步骤,但别忘了后续补上索引、主键等关键约束——结构复制只是第一步。
以上就是SQLCREATEASSELECT使用说明_SQL快速复制表结构数据的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号