数据库操作,复制表

整理自:http://blog.51yip.com/mysql/1311.html

显示创建表的信息:

1 USE world;
2 SHOW CREATE TABLE city;

显示表结构信息:

1 CREATE TABLE `city` (
2   `ID` int(11) NOT NULL AUTO_INCREMENT,
3   `Name` char(35) NOT NULL DEFAULT '',
4   `CountryCode` char(3) NOT NULL DEFAULT '',
5   `District` char(20) NOT NULL DEFAULT '',
6   `Population` int(11) NOT NULL DEFAULT '0',
7   PRIMARY KEY (`ID`)
8 ) ENGINE=MyISAM AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1

复制表:

仅复制表结构,可以用上面的代码直接拷贝运行一下,或者:

1 USE test;
2 CREATE TABLE city1 SELECT * FROM world.city LIMIT 0;

复制表内容:

USE test;
-- mysql不支持select INTO 
-- SELECT * INTO city_da FROM city

-- 替代方法:使用 create...INTO...在创建表时复制表结构并插入数据
CREATE TABLE city_create (SELECT * FROM city)
--只复制其中几行
CREATE TABLE city_id_name_create (SELECT id,name FROM city)

-- 也可以使用insert INTO,不复制表结构,仅仅插入数据
USE test;
INSERT INTO city1(id,name) SELECT id,Name FROM city

复制表结构和表数据:

1 USE test;
2 CREATE TABLE city SELECT * FROM world.city

带条件复制可以在后面加上where语句限制。

原文地址:https://www.cnblogs.com/mada0/p/4728158.html