我可以使用“复制”表格:
CREATE TABLE copy LIKE original_table
和
CREATE TABLE copy as select * from original_table
在后一种情况下,只复制数据,但不复制主键等。
所以我想知道我什么时候更喜欢使用select as
?
我可以使用“复制”表格:
CREATE TABLE copy LIKE original_table
和
CREATE TABLE copy as select * from original_table
在后一种情况下,只复制数据,但不复制主键等。
所以我想知道我什么时候更喜欢使用select as
?
这些做不同的事情。 CREATE TABLE LIKE
创建一个与原始表具有相同结构的空表。
CREATE TABLE AS SELECT
将数据插入到新表中。结果表不为空。此外,CREATE TABLE AS SELECT
通常与更复杂的查询一起使用,以生成临时表。在这种情况下没有“原始”表。查询的结果只是被捕获为一个表。
编辑:
进行备份的“标准”方法是使用 . . . . backup
在数据库级别。这将备份数据库中的所有对象。例如,备份多个表对于维护对象之间的关系完整性很重要。
如果您只想要一个表格的真实副本,请先执行 acreate table like
然后insert into
. auto_increment
但是,这可能会给字段带来挑战。您可能希望删除auto_increment
列上的属性,以便填充此类列。
当新表不是旧表的精确副本,而是仅包含选定的列或连接产生的列时,通常使用第二种形式。
当您有复杂的选择时,最有可能使用“创建表作为选择...”
例如:
create table t2 as select * from t1 where x1=7 and y1 <>2 from t1;
现在,如果您不需要如此复杂的选择,显然您应该使用 Create Like。您也可以使用此语法更改 PI。