CREATE TABLE LIKE
This statement copies the definition of an existing table, without copying any data.
Synopsis
- CreateTableLikeStmt
- OptTemporary
- LikeTableWithOrWithoutParen
- OnCommitOpt
CreateTableLikeStmt ::=
'CREATE' OptTemporary 'TABLE' IfNotExists TableName LikeTableWithOrWithoutParen OnCommitOpt
OptTemporary ::=
( 'TEMPORARY' | ('GLOBAL' 'TEMPORARY') )?
LikeTableWithOrWithoutParen ::=
'LIKE' TableName
| '(' 'LIKE' TableName ')'
OnCommitOpt ::=
('ON' 'COMMIT' 'DELETE' 'ROWS')?
Examples
mysql> CREATE TABLE t1 (a INT NOT NULL);
Query OK, 0 rows affected (0.13 sec)
mysql> INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
Query OK, 5 rows affected (0.02 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM t1;
+---+
| a |
+---+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+---+
5 rows in set (0.00 sec)
mysql> CREATE TABLE t2 LIKE t1;
Query OK, 0 rows affected (0.10 sec)
mysql> SELECT * FROM t2;
Empty set (0.00 sec)
Pre-split region
If the table to be copied is defined with the PRE_SPLIT_REGIONS
attribute, the table created using the CREATE TABLE LIKE
statement inherits this attribute, and the Region on the new table will be split. For details of PRE_SPLIT_REGIONS
, see CREATE TABLE
Statement.
MySQL compatibility
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be reported via an issue on GitHub.
See also
Was this page helpful?