mysql复制表结构和内容
许多时候我们想复制一张表部分或者全部内容,或者只复制一张表的框架,这种需求应该说我们很常见。
其实想要实现这种需求十分简单。
表一:
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复制表结构和内容的更多相关文章
- MySQL复制表结构和内容到另一张表(转)
MySQL不要看它小,一个开源的产物,要学习它的东西真的很多.而它的一切是SQL Server无法比拟的. 复制表结构及数据到新表 create table 新表 select * from 旧表 只 ...
- MySQL复制表结构和内容到另一个表中
一:(低版本的mysql不支持,mysql4.0.25 不支持,mysql5已经支持了)1.复制表结构到新表CREATE TABLE 新表LIKE 旧表 2.复制旧表的数据到新表(假设两个表结构一样) ...
- Mysql 复制表结构 及其表的内容
顺便转一下Mysql复制表结构.表数据的方法: 1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们 ...
- MySQL复制表结构表数据
MySQL复制表结构 表数据 1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete ...
- mysql 复制表结构(包括索引等)、表内容
=============================================== 2019/7/16_第1次修改 ccb_warlock == ...
- mysql复制表结构,复制表数据
MYSQL 复制表 show create table table_name:查看表的建表语句.该语句包含了原数据表的结构,索引等. 使用 SHOW CREATE TABLE 命令获取创建数据表(CR ...
- MySQL 复制表结构
200 ? "200px" : this.width)!important;} --> 介绍 有时候我们需要原封不动的复制一张表的表结构来生成一张新表,MYSQL提供了两种便 ...
- mysql 复制表结构、表数据的方法
From: http://blog.163.com/yaoyingying681@126/blog/static/109463675201191173221759/ MySQL 添加列,修改列,删除列 ...
- mysql复制表结构及检查表、存储过程是否存在
mysql命令行复制表结构的方法: 1.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2 或者 CREATE TABLE 新表 LIKE 旧表 ...
随机推荐
- Elasticsearch 2014年10月简报
1. Elasticsearch Updates 1.1 公布了Kibana 4 Beta 1 和Beta 1.1 Kibana 4不管是在界面的布局,使用配置方法,还是底层绘制图表的方式都与Kiba ...
- BZOJ 4216 Pig 分块乱搞
题意:id=4216">链接 方法:分块以节约空间. 解析: 这题坑的地方就是他仅仅有3M的内存限制,假设我们开longlong前缀和是必死的. 所以考虑缩小这个long long数组 ...
- mongo: 索引
索引创建 在学习索引之前,我们先看一下,如果没有添加索引时,我们用explain()函数,查看查询计划是什么样的. 发现使用的是BasicCursor,那么就代表我们没有索引,当我们查某一个数据的时候 ...
- BZOJ 1012 线段树||单调队列
非常裸的线段树 || 单调队列: 假设一个节点在队列中既没有时间优势(早点入队)也没有值优势(值更大),那么显然不管在如何的情况下都不会被选为最大值. 既然它仅仅在末尾选.那么自然能够满足以上的条件 ...
- 浅析Java语言中两种异常的差别
Java提供了两类主要的异常:runtime exception和checked exception.所有的checked exception是从java.lang.Exception类衍生出来的,而 ...
- 正则表达式匹配 href 和text内容
string pattern = @"<a[^>]*href=(""(?<href>[^""]*)""|' ...
- 获取、增加、修改、删除sqlserver字段描述及快速查看表字段与描述
先看添加与删除字段描述 EXEC sys.sp_addextendedproperty @name = N'MS_Description', --添加Type字段说明 @value = N'屏蔽类型对 ...
- Android Studio 使用笔记:记录使用Gradle配置AndroidAnnotations
系统:Mac Yosemit 10.10 JDK:1.6+ Android Studio:1.2 原来看到有人用AndroidAnnotations,十分羡慕.但是Gradle并不熟悉,现找到了正确的 ...
- 安装SQLserver 2014(For AlwaysOn)
SQLserver 2014 AlwaysOn在SQLserver 2012的基础之上,进行了非常大程度的添加.如能够通过"加入 Azure 副本向导"简化了用于 AlwaysOn ...
- 把flask部署到服务器
1.新建一个wsgi.py文件 # -*- coding:utf-8 -*- import sys from os.path import abspath from os.path import di ...