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

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

表一:

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. 安卓---JNI使用

    交叉编译 系统平台:Windows.Mac OS.Linux CPU平台:ARM.X86.MIPS 概念:在一个平台下打包编译出还有一个平台能够运行的程序#交叉编译原理 源代码->预编译-> ...

  2. 【Datastage】Datastage在win10上安装报错:This Application requires one of the following versions of the .NET Framework:v1.1.4322 Do you want to install this .NET Framework version now?

    Datastage在win10上安装报错如下: 这个错误的意思是:.netFramWork的版本不符合要求,于是,我在网上下载了一个版本一致的 下载地址为:http://pan.baidu.com/s ...

  3. 【海盗派测试分析MFQ&PPDCS】读书笔记

    使用脑图花了一张读书笔记,可能有点长

  4. handlebars.js基础学习笔记

    最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...

  5. Delphi 泛型(三十篇)

    Delphi 泛型(三十篇)http://www.cnblogs.com/jxgxy/category/216671.html

  6. MongoDB 的聚集操作

    聚合引言 聚集操作就是出来数据记录并返回计算结果的操作.MongoDB提供了丰富的聚集操作.可以检測和执行数据集上的计算.执行在mongod上的数据聚集简化了代码和资源限制. 像查询一样,在Mongo ...

  7. 模拟和数字低通滤波器的MATLAB实现

    低通滤波器参数:Fs=8000,fp=2500,fs=3500,Rp=1dB,As=30dB,其他滤波器可以通过与低通之间的映射关系实现. %%模拟滤波器 %巴特沃斯——滤波器设计 wp=2*pi*2 ...

  8. Python基础(字符编码与文件处理)

    一.了解字符编码的知识储备 1.计算机基础知识(三副图) 2.文本编辑器存取文件的原理(notepad++,Pycharm,word) 打开编辑器就启动了一个进程,是在内存中运行的,所以在编辑器写的内 ...

  9. 堆排序算法的java实现

         堆积排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素.堆排序是不稳定的排序方法,辅助空间为O(1), 最坏时间复杂度为O ...

  10. 自动测试工具agitarOne 初体验之-MockingBird的使用

    大名鼎鼎的AgitarOne就不用解释了,在昨天的随笔中有一些解释,今天主要说说Agitar 中Mockingbird的使用.          为了提高测试代 码的Coverage,仅仅靠Agita ...