许多时候我们想复制一张表部分或者全部内容,或者只复制一张表的框架,这种需求应该说我们很常见。

其实想要实现这种需求十分简单。

表一:

mysql> select * from student_info;
+----+-----------+------+
| id | name | sex |
+----+-----------+------+
| 1 | 科比 | 男 |
| 2 | 毛线 | 女 |
| 3 | 黄鱼 | 男 |
| 4 | 子栋 | 男 |
| 5 | 子豪 | 女 |
| 6 | 小鸟 | 男 |
| 7 | 星爷 | 男 |
| 8 | 戴鹏 | 男 |
| 9 | 秦子琪 | 女 |
+----+-----------+------+
9 rows in set (0.00 sec)

student_info

表二:

mysql> select * from student_addr;
+--------+--------------+
| name | addr |
+--------+--------------+
| 科比 | 湖北罗田 |
| 小鸟 | 湖北襄阳 |
| 子豪 | 江苏扬州 |
| 毛线 | 湖北孝感 |
| 子栋 | 湖北洪湖 |
| 黄鱼 | 湖北罗田 |
+--------+--------------+
6 rows in set (0.00 sec)

student_addr

表三:

mysql> select * from student_score;
+--------+-------+-------+--------+
| name | MYSQL | LIUNX | python |
+--------+-------+-------+--------+
| 科比 | 56 | 87 | 74 |
| 毛线 | 87 | 95 | 78 |
| 小鸟 | 60 | 78 | 87 |
| 子豪 | 54 | 67 | 57 |
| 子栋 | 90 | 95 | 94 |
| 黄鱼 | 78 | 69 | 90 |
| 星爷 | 24 | 45 | 42 |
+--------+-------+-------+--------+
7 rows in set (0.00 sec)

student_score

需求一:我想要一张新的学生信息表,表名new_student_info,只想要湖北的同学的信息。

SQL语句:create table new_student_info (select * from student_addr where addr like '湖北%');

mysql> create table new_student_info (select * from student_addr where addr like '湖北%');
Query OK, 5 rows affected (0.01 sec)
Records: 5 Duplicates: 0 Warnings: 0 mysql> select * from new_student_info;
+--------+--------------+
| name | addr |
+--------+--------------+
| 科比 | 湖北罗田 |
| 小鸟 | 湖北襄阳 |
| 毛线 | 湖北孝感 |
| 子栋 | 湖北洪湖 |
| 黄鱼 | 湖北罗田 |
+--------+--------------+
5 rows in set (0.00 sec)

执行结果

需求二:我想复制表三的框架,表名new_student_score.

SQL语句:create table new_student_score select * from student_score where 1=2;

mysql> create table new_student_score select * from student_score where 1=2;  #where后面的条件随便写
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> select * from new_student_score; #框架存在
Empty set (0.00 sec) mysql> desc new_student_score;
+--------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| name | char(10) | YES | | NULL | |
| MYSQL | int(4) | YES | | NULL | |
| LIUNX | int(4) | YES | | NULL | |
| python | int(4) | YES | | NULL | |
+--------+----------+------+-----+---------+-------+
4 rows in set (0.01 sec)

执行结果

需求三:一张新的表,囊括所有信息,表名info_all

SQL语句:

mysql> create table info_all
-> select new.id,new.name,new.sex,new.addr,sc.python,sc.MYSQL,sc.LIUNX
-> from (
-> select student_info.id,student_info.name,student_info.sex,student_addr.addr
-> from student_info left join student_addr
-> on student_info.name = student_addr.name) as new
-> left join student_score as sc on new.name=sc.name;
mysql> select * from info_all;
+----+-----------+------+--------------+--------+-------+-------+
| id | name | sex | addr | python | MYSQL | LIUNX |
+----+-----------+------+--------------+--------+-------+-------+
| 1 | 科比 | 男 | 湖北罗田 | 74 | 56 | 87 |
| 2 | 毛线 | 女 | 湖北孝感 | 78 | 87 | 95 |
| 3 | 黄鱼 | 男 | 湖北罗田 | 90 | 78 | 69 |
| 4 | 子栋 | 男 | 湖北洪湖 | 94 | 90 | 95 |
| 5 | 子豪 | 女 | 江苏扬州 | 57 | 54 | 67 |
| 6 | 小鸟 | 男 | 湖北襄阳 | 87 | 60 | 78 |
| 7 | 星爷 | 男 | NULL | 42 | 24 | 45 |
| 8 | 戴鹏 | 男 | NULL | NULL | NULL | NULL |
| 9 | 秦子琪 | 女 | NULL | NULL | NULL | NULL |
+----+-----------+------+--------------+--------+-------+-------+
9 rows in set (0.00 sec)

执行结果

mysql复制表结构和内容的更多相关文章

  1. MySQL复制表结构和内容到另一张表(转)

    MySQL不要看它小,一个开源的产物,要学习它的东西真的很多.而它的一切是SQL Server无法比拟的. 复制表结构及数据到新表 create table 新表 select * from 旧表 只 ...

  2. MySQL复制表结构和内容到另一个表中

    一:(低版本的mysql不支持,mysql4.0.25 不支持,mysql5已经支持了)1.复制表结构到新表CREATE TABLE 新表LIKE 旧表 2.复制旧表的数据到新表(假设两个表结构一样) ...

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

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

  4. MySQL复制表结构表数据

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

  5. mysql 复制表结构(包括索引等)、表内容

    =============================================== 2019/7/16_第1次修改                       ccb_warlock == ...

  6. mysql复制表结构,复制表数据

    MYSQL 复制表 show create table table_name:查看表的建表语句.该语句包含了原数据表的结构,索引等. 使用 SHOW CREATE TABLE 命令获取创建数据表(CR ...

  7. MySQL 复制表结构

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

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

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

  9. mysql复制表结构及检查表、存储过程是否存在

    mysql命令行复制表结构的方法: 1.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2  或者 CREATE TABLE 新表 LIKE 旧表 ...

随机推荐

  1. NYOJ 257 郁闷的C小加(一)

    郁闷的C小加(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度: 描写叙述 我们熟悉的表达式如a+b.a+b*(c+d)等都属于中缀表达式.中缀表达式就是(对于双目运算符来说) ...

  2. bootstrap之PressKeyCode&&LongPressKeyCode

    PressKeyCode package io.appium.android.bootstrap.handler; import com.android.uiautomator.core.UiDevi ...

  3. HDU 3732 Ahui Writes Word(多重背包)

    HDU 3732 Ahui Writes Word(多重背包) http://acm.hdu.edu.cn/showproblem.php? pid=3732 题意: 初始有N个物品, 每一个物品有c ...

  4. WCF获取元数据

    所谓获取WCF的服务元数据(Metadata),归根结点,实际上就是获取服务的终结点(Endpoint)的信息,这是服务公开在外的数据信息,包括Address.Binding与Contract,也就是 ...

  5. nginx限速

    nginx 要实现限速,完整的实现是要限制客户端请求频率,并发连接和传输速度 1.请求限制 Nginx 请求限制的功能来自于 ngx_http_limit_req_module 模块.使用它需要首先在 ...

  6. zoj 3827 Information Entropy 【水题】

    Information Entropy Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge Information ...

  7. EasyNetQ操作RabbitMQ(高级消息队列)

    RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件).写消息队列的时候用RabbitMQ比较好,但是写的时候需要自己封装下,自己的封装,就需要对RabbitM ...

  8. 如何自定义View

    1. 首先 在values目录下建立attrs.xml文件,添加属性内容 ·在布局文件中添加新的命名空间xmlns,然后可以使用命名空间给自定义的空间设置属性 attrs.xml <resour ...

  9. 每天学习30分钟新知识之html教程1

    版本 年份 HTML 1991 HTML+ 1993 HTML 2.0 1995 HTML 3.2 1997 HTML 4.01 1999 XHTML 1.0 2000 HTML5 2012 XHTM ...

  10. golang struct 定义中json``解析说明

    在代码学习过程中,发现struct定义中可以包含`json:"name"`的声明,所以在网上找了一些资料研究了一下 package main import ( "enco ...