使用Like查询创建Mysql

时间:2012-09-28 12:53:17

标签: mysql sql database

在下面的Mysql查询中,

CREATE TABLE `t1` LIKE `student`
从学生新创建的

t1将具有与学生相同的模式和foriegn键。这是我的疑问。

任何人都可以清楚我的怀疑吗?

2 个答案:

答案 0 :(得分:0)

表t1具有与student和foreign key相同的模式,但它是空表。 Ref

有关详细信息,

  • 您可以通过添加 SELECT 语句从另一个表创建一个表 CREATE TABLE语句的结尾:

<强>&GT; CREATE TABLE new_tbl SELECT * FROM orig_tbl;

在这种情况下,原始表中的所有数据都将复制到新表中,但架构相关信息(如primay key contratint)不包括。


  • 使用 LIKE 根据其他人的定义创建空表 表,包括在中定义的任何列属性和索引 原表:

<强>&GT; CREATE TABLE new_tbl LIKE orig_tbl;

在这种情况下,新表与原始表具有相同的模式,但没有数据。

答案 1 :(得分:0)

引自here

  

使用LIKE根据另一个表的定义创建一个空表,包括原始表中定义的所有列属性和索引:

     

CREATE TABLE new_tbl LIKE orig_tbl;

     

使用与原始表相同版本的表存储格式创建副本。原始表上需要SELECT权限。

     

LIKE仅适用于基表,不适用于视图。

     

CREATE TABLE ... LIKE不保留为原始表或任何外键定义指定的任何DATA DIRECTORY或INDEX DIRECTORY表选项。