MySQL创建表的like语句详解
在MySQL中,我们可以使用CREATE TABLE ... LIKE
语句来创建一个新表,新表的结构(列名、数据类型等)与现有表的结构完全相同。这在我们需要创建一个与现有表结构相同的新表时非常有用。
语法
CREATE TABLE new_table LIKE old_table;
参数解释
new_table
: 要创建的新表的名称old_table
: 要复制其结构的现有表的名称
示例
假设我们有一个名为employees
的表,结构如下所示:
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
salary DECIMAL(10,2)
);
现在我们想要创建一个新的表new_employees
,与employees
表的结构完全相同,我们可以使用LIKE
语句来实现:
CREATE TABLE new_employees LIKE employees;
运行以上SQL语句后,将会创建一个新的表new_employees
,其结构与employees
表完全相同。可以通过以下SQL语句查看new_employees
表的结构:
DESC new_employees;
运行结果应该如下所示:
+--------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(50) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| salary | decimal(10,2)| YES | | NULL | |
+--------+--------------+------+-----+---------+-------+
注意事项
LIKE
语句只会复制表的结构,不会复制表中的数据- 要注意新表的名称不能与现有表的名称相同,否则将会报错
- 如果要复制表结构并且复制数据,可以使用
CREATE TABLE ... AS SELECT
语句
使用LIKE
语句可以很方便地复制表的结构,节省了手动输入列名、数据类型等信息的时间和精力。