MySQL复制表-CREATE SELECT
假设存在以下Table:
- mysql> select * from staff;
- +----+----------+-------+
- | id | name | slary |
- +----+----------+-------+
- | | haofugui | |
- | | guoming | |
- | | haotian | |
- +----+----------+-------+
- rows in set (0.00 sec)
- mysql> describe staff;
- +-------+----------+------+-----+---------+----------------+
- | Field | Type | Null | Key | Default | Extra |
- +-------+----------+------+-----+---------+----------------+
- | id | int() | NO | PRI | NULL | auto_increment |
- | name | char() | YES | | NULL | |
- | slary | int() | YES | | NULL | |
- +-------+----------+------+-----+---------+----------------+
- 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;
示例:
- mysql> create table staff_bak select id,name from staff where 1=2; //根据旧表的指定属性创建一个新的空表
- Query OK, rows affected (0.03 sec)
- Records: Duplicates: Warnings:
- mysql> select * from staff_bak; //新建的数据库为空表
- Empty set (0.00 sec)
- mysql> describe staff_bak; //原表的主键和自动增长不能被复制
- +-------+----------+------+-----+---------+-------+
- | Field | Type | Null | Key | Default | Extra |
- +-------+----------+------+-----+---------+-------+
- | id | int() | NO | | | |
- | name | char() | YES | | NULL | |
- +-------+----------+------+-----+---------+-------+
- rows in set (0.00 sec)
- mysql> create table staff_bak_1 like staff; //根据旧表创建一个新的空表,无法指定属性或属性组
- Query OK, rows affected (0.03 sec)
- mysql> select * from staff_bak_1;
- Empty set (0.00 sec)
- mysql> describe staff_bak_1; //所有数据类型和完整性约束条件都能被复制,包括主键和自动增长
- +-------+----------+------+-----+---------+----------------+
- | Field | Type | Null | Key | Default | Extra |
- +-------+----------+------+-----+---------+----------------+
- | id | int() | NO | PRI | NULL | auto_increment |
- | name | char() | YES | | NULL | |
- | slary | int() | YES | | NULL | |
- +-------+----------+------+-----+---------+----------------+
- rows in set (0.00 sec)
注意:语句1可指定复制的属性范围,但无法复制主键类型和自增方式;
语句2会把旧表的所有字段类型都复制到新表,但无法复制指定属性或属性组。
2. 复制表结构及数据到新表
语句:CREATE TABLE new_table_name SELECT [field1,field2... | *] FROM old_table_name;
- mysql> create table staff_bak select id,name from staff; //根据旧表将指定属性及其数据创建新表
- Query OK, rows affected (0.03 sec)
- Records: Duplicates: Warnings:
- mysql> describe staff_bak; //新表结构展示
- +-------+----------+------+-----+---------+-------+
- | Field | Type | Null | Key | Default | Extra |
- +-------+----------+------+-----+---------+-------+
- | id | int() | NO | | | |
- | name | char() | YES | | NULL | |
- +-------+----------+------+-----+---------+-------+
- rows in set (0.00 sec)
- mysql> select * from staff_bak; //新表数据显示
- +----+----------+
- | id | name |
- +----+----------+
- | | haofugui |
- | | guoming |
- | | haotian |
- +----+----------+
- rows in set (0.00 sec)
MySQL复制表-CREATE SELECT的更多相关文章
- MySQL复制表结构表数据
MySQL复制表结构 表数据 1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete ...
- mysql复制表数据或表结构到新表中
MySQL复制表数据到新表的几个步骤. 1.MySQL复制表结构及数据到新表 CREATE TABLE new_table SELECT * FROM old_table; 2.只复制表结构到新表 C ...
- Mysql 复制表结构 及其表的内容
顺便转一下Mysql复制表结构.表数据的方法: 1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们 ...
- mysql复制表以及复制数据库
(一)将旧表复制到新表 1.CREATE TABLE新表 SELECT* FROM旧表; 该语句只是复制表结构以及数据,它不会复制与表关联的其他数据库对象,如索引,主键约束,外键约束,触发器等. CR ...
- Mysql 复制表数据(表结构相同)
[1]Mysql 复制表数据(表结构相同) -- 方式一: create table table_name_dest as select * from table_name_src; -- 方式二: ...
- mysql复制表的两种方式
mysql复制表的两种方式. 第一.只复制表结构到新表 create table 新表 select * from 旧表 where 1=2 或者 create table 新表 like 旧表 第二 ...
- mysql复制表数据,多表数据复制到一张表
对于mysql 复制表数据可以使用 insert into select 方式 示例: $sql="insert into icarzoo.provider(providerId,provi ...
- mysql复制表结构create table as和like的区别
对于MySQL的复制相同表结构方法,有create table as 和create table like 两种,区别是什么呢? create table t2 as select * from t1 ...
- MySQL 复制表结构
200 ? "200px" : this.width)!important;} --> 介绍 有时候我们需要原封不动的复制一张表的表结构来生成一张新表,MYSQL提供了两种便 ...
- mysql 复制表结构、表数据的方法
From: http://blog.163.com/yaoyingying681@126/blog/static/109463675201191173221759/ MySQL 添加列,修改列,删除列 ...
随机推荐
- Python学习之旅(三十八)
Python基础知识(37):访问数据库(Ⅱ) 二.MySQL MySQL是Web世界中使用最广泛的数据库服务器.SQLite的特点是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用.而MyS ...
- 内核kmalloc内存越界排查过程(转)
https://blog.csdn.net/hjkfcz/article/details/84500026 内核为了效率,memcpy完全是有汇编实现,加入c代码很困难.可以采用jprobe技术,动态 ...
- js常用正则表达式判断
1.判断IP:端口 <html> <head> </head> <body> ip:port<input type="" na ...
- 1. Scala概述
1.1 概述 联邦理工学院洛桑(EPFL)的Martin Odersky于2001年开始设计Scala Scala是Scalable Language的简写,是一门多范式的编程语言 1.2 Scala ...
- java web 下载本地文件并弹出下载框
window.open("/dept/download") jsp代码 @RequestMapping(value = "/download", method ...
- 转:三款免费好用的Gif录屏神器
原文链接:三款免费好用的Gif录屏神器 自己用了 ScreenToGif 版本2.14.1下载地址 原文内容: 三款免费好用的Gif录屏神器 2018年06月02日 18:52:21 独家雨 ...
- jar包通过exe4j打包成exe可执行文件
https://blog.csdn.net/jia611/article/details/42060945 参照此文即可,注意,我的是maven打包成的jar,选择maincalss时,需要选择jar ...
- jmeter 之 if controller
jmeter版本5.0.下面是jmeter5.0的if逻辑控制器的截图 标红字体的意思大概是,如果勾选了 下面的 interpret condition as variable expression ...
- webpack常见问题 收藏
一:webpack认识 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关 ...
- java 各种数据类型的互相转换
StringBuilder转化为String StringBuilder stb = new StringBuilder(); String str=stb.toString(); //方法1 Str ...