假设存在以下Table:

  1. mysql> select * from staff;
  2. +----+----------+-------+
  3. | id | name | slary |
  4. +----+----------+-------+
  5. | | haofugui | |
  6. | | guoming | |
  7. | | haotian | |
  8. +----+----------+-------+
  9. rows in set (0.00 sec)
  10.  
  11. mysql> describe staff;
  12. +-------+----------+------+-----+---------+----------------+
  13. | Field | Type | Null | Key | Default | Extra |
  14. +-------+----------+------+-----+---------+----------------+
  15. | id | int() | NO | PRI | NULL | auto_increment |
  16. | name | char() | YES | | NULL | |
  17. | slary | int() | YES | | NULL | |
  18. +-------+----------+------+-----+---------+----------------+
  19. rows in set (0.00 sec)

1. 只复制表结构到新表

语句1:CREATE TABLE new_table_name SELECT [field1,field2... | *] FROM old_table_name WHERE 1=2;

语句2:CREATE TABLE new_table _name LIKE old_table_name;

示例:

  1. mysql> create table staff_bak select id,name from staff where 1=2; //根据旧表的指定属性创建一个新的空表
  2. Query OK, rows affected (0.03 sec)
  3. Records: Duplicates: Warnings:
  4.  
  5. mysql> select * from staff_bak; //新建的数据库为空表
  6. Empty set (0.00 sec)
  7.  
  8. mysql> describe staff_bak; //原表的主键和自动增长不能被复制
  9. +-------+----------+------+-----+---------+-------+
  10. | Field | Type | Null | Key | Default | Extra |
  11. +-------+----------+------+-----+---------+-------+
  12. | id | int() | NO | | | |
  13. | name | char() | YES | | NULL | |
  14. +-------+----------+------+-----+---------+-------+
  15. rows in set (0.00 sec)
  1. mysql> create table staff_bak_1 like staff; //根据旧表创建一个新的空表,无法指定属性或属性组
  2. Query OK, rows affected (0.03 sec)
  3.  
  4. mysql> select * from staff_bak_1;
  5. Empty set (0.00 sec)
  6.  
  7. mysql> describe staff_bak_1; //所有数据类型和完整性约束条件都能被复制,包括主键和自动增长
  8. +-------+----------+------+-----+---------+----------------+
  9. | Field | Type | Null | Key | Default | Extra |
  10. +-------+----------+------+-----+---------+----------------+
  11. | id | int() | NO | PRI | NULL | auto_increment |
  12. | name | char() | YES | | NULL | |
  13. | slary | int() | YES | | NULL | |
  14. +-------+----------+------+-----+---------+----------------+
  15. rows in set (0.00 sec)

注意:语句1可指定复制的属性范围,但无法复制主键类型和自增方式;

          语句2会把旧表的所有字段类型都复制到新表,但无法复制指定属性或属性组。

2. 复制表结构及数据到新表

语句:CREATE TABLE new_table_name SELECT [field1,field2... | *] FROM old_table_name;

  1. mysql> create table staff_bak select id,name from staff; //根据旧表将指定属性及其数据创建新表
  2. Query OK, rows affected (0.03 sec)
  3. Records: Duplicates: Warnings:
  4.  
  5. mysql> describe staff_bak; //新表结构展示
  6. +-------+----------+------+-----+---------+-------+
  7. | Field | Type | Null | Key | Default | Extra |
  8. +-------+----------+------+-----+---------+-------+
  9. | id | int() | NO | | | |
  10. | name | char() | YES | | NULL | |
  11. +-------+----------+------+-----+---------+-------+
  12. rows in set (0.00 sec)
  13.  
  14. mysql> select * from staff_bak; //新表数据显示
  15. +----+----------+
  16. | id | name |
  17. +----+----------+
  18. | | haofugui |
  19. | | guoming |
  20. | | haotian |
  21. +----+----------+
  22. rows in set (0.00 sec)

MySQL复制表-CREATE SELECT的更多相关文章

  1. MySQL复制表结构表数据

    MySQL复制表结构 表数据 1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete ...

  2. mysql复制表数据或表结构到新表中

    MySQL复制表数据到新表的几个步骤. 1.MySQL复制表结构及数据到新表 CREATE TABLE new_table SELECT * FROM old_table; 2.只复制表结构到新表 C ...

  3. Mysql 复制表结构 及其表的内容

    顺便转一下Mysql复制表结构.表数据的方法: 1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们 ...

  4. mysql复制表以及复制数据库

    (一)将旧表复制到新表 1.CREATE TABLE新表 SELECT* FROM旧表; 该语句只是复制表结构以及数据,它不会复制与表关联的其他数据库对象,如索引,主键约束,外键约束,触发器等. CR ...

  5. Mysql 复制表数据(表结构相同)

    [1]Mysql 复制表数据(表结构相同) -- 方式一: create table table_name_dest as select * from table_name_src; -- 方式二: ...

  6. mysql复制表的两种方式

    mysql复制表的两种方式. 第一.只复制表结构到新表 create table 新表 select * from 旧表 where 1=2 或者 create table 新表 like 旧表 第二 ...

  7. mysql复制表数据,多表数据复制到一张表

    对于mysql 复制表数据可以使用 insert into select 方式 示例: $sql="insert into icarzoo.provider(providerId,provi ...

  8. mysql复制表结构create table as和like的区别

    对于MySQL的复制相同表结构方法,有create table as 和create table like 两种,区别是什么呢? create table t2 as select * from t1 ...

  9. MySQL 复制表结构

    200 ? "200px" : this.width)!important;} --> 介绍 有时候我们需要原封不动的复制一张表的表结构来生成一张新表,MYSQL提供了两种便 ...

  10. mysql 复制表结构、表数据的方法

    From: http://blog.163.com/yaoyingying681@126/blog/static/109463675201191173221759/ MySQL 添加列,修改列,删除列 ...

随机推荐

  1. Python学习之旅(三十八)

    Python基础知识(37):访问数据库(Ⅱ) 二.MySQL MySQL是Web世界中使用最广泛的数据库服务器.SQLite的特点是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用.而MyS ...

  2. 内核kmalloc内存越界排查过程(转)

    https://blog.csdn.net/hjkfcz/article/details/84500026 内核为了效率,memcpy完全是有汇编实现,加入c代码很困难.可以采用jprobe技术,动态 ...

  3. js常用正则表达式判断

    1.判断IP:端口 <html> <head> </head> <body> ip:port<input type="" na ...

  4. 1. Scala概述

    1.1 概述 联邦理工学院洛桑(EPFL)的Martin Odersky于2001年开始设计Scala Scala是Scalable Language的简写,是一门多范式的编程语言 1.2 Scala ...

  5. java web 下载本地文件并弹出下载框

    window.open("/dept/download") jsp代码 @RequestMapping(value = "/download", method ...

  6. 转:三款免费好用的Gif录屏神器

    原文链接:三款免费好用的Gif录屏神器 自己用了      ScreenToGif 版本2.14.1下载地址 原文内容: 三款免费好用的Gif录屏神器 2018年06月02日 18:52:21 独家雨 ...

  7. jar包通过exe4j打包成exe可执行文件

    https://blog.csdn.net/jia611/article/details/42060945 参照此文即可,注意,我的是maven打包成的jar,选择maincalss时,需要选择jar ...

  8. jmeter 之 if controller

    jmeter版本5.0.下面是jmeter5.0的if逻辑控制器的截图 标红字体的意思大概是,如果勾选了 下面的 interpret condition as variable expression ...

  9. webpack常见问题 收藏

    一:webpack认识 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关 ...

  10. java 各种数据类型的互相转换

    StringBuilder转化为String StringBuilder stb = new StringBuilder(); String str=stb.toString(); //方法1 Str ...