SQL如何复制表结构?

2025-03-03 21:33:23
推荐回答(5个)
回答1:

1、既复制表结构也复制表内容的SQL语句:

CREATE TABLE tab_new AS SELECT * FROM tab_old;

2、只复制表结构不复制表内容的SQL语句:

CREATE TABLE tab_new AS SELECT * FROM tab_old WHERE 1=2;

3、不复制表结构,只复制内容的sql语句:

SELECT vale1, value2 into Table2 from Table1

扩展资料:

SQL中常用的语句:

1、说明:创建数据库

CREATE DATABASE database-name

2、说明:删除数据库

drop database dbname

3、说明:创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

根据已有的表创建新表:

A:create table tab_new like tab_old (使用旧表创建新表)

B:create table tab_new as select col1,col2… from tab_old definition only

4、说明:删除新表

drop table tabname

5、说明:增加一个列

Alter table tabname add column col type

6、说明:添加主键

Alter table tabname add primary key(col)

7、说明:删除主键

Alter table tabname drop primary key(col)

8、说明:创建索引

create [unique] index idxname on tabname(col….)

9、删除索引

drop index idxname

回答2:

1、把a的表结构复制到a1表,1=2不复制数据,
2、如果要复制数据,就不要whereselect * into a1 from a where 1=2
注意:这种方式不能复制主键、索引等信息如果要全部复制,只能是在a表上按右键,选择“编写表脚本为”=》Create然后在这个结构基础上把a改成a1(注:要在设置里选择编写索引脚本)

回答3:

如果新表不存在
select * into newtable from oldtable
如果存在
insert into newtable select * from oldtable ---表结构一致
insert into newtable(列名1,列名2,.....) select 列名1,列名2....from oldtable --表结构不一致

回答4:

表结构一样的话这样子写就可以了:
INSERT INTO B
SELECT * FROM A
如果有AB表结构不一样,就指定字段!

回答5:

create table 新表 as select * from 已有table where 1=2