MSSQL:
-
只复制表结构:
SELECT * INTO B FROM A WHERE Id=‘’; -- 条件不能成立.
-
将旧表数据复制到已存在的新表(假设结构一样,表存在):
INSERT INTO B SELECT * FROM A ;
-
复制整个表,主键等信息要重建(表不存在)
SELECT * INTO B FROM A ;
MYSQL
1、如果B表不存在就创建B表并复制A表的结构
CREATE TABLE IF NOT EXISTS `B`(LIKEA);
或者
CREATE TABLE IF NOT EXISTS `B`( Id INT(50) NOT NULL PRIMARY KEY );
2.创建B表并复制A表的结构和数据。
1) DROP TABLE IF EXISTS `B`;
CREATE TABLE B SELECT * FROM A; -- 复制结构和数据
2) DROP TABLE IF EXISTS B;
CREATE TABLE B LIKE A; -- 只复制结构不复制数据
INSERT INTO B SELECT * FROM A;
-
表结构完全一样
CREATE TABLE B LIKE A;
INSERT INTO B SELECT * FROM A -
表结构不一样(这种情况下得指定列名)
INSERT INTO B (列名1,列名2,列名3) SELECT 列1,列2,列3 FROM A -
不同数据库,需要在表前面加数据库前缀,database.表名。