MySQL复制表的三种方式(小结)

复制表结构及其数据

下面这个语句会拷贝数据到新表中。

注意:这个语句其实只是把select语句的结果建一个表,所以新表不会有主键,索引。

create table table_name_new as (select * from table_name_old);

只复制表结构

create table table_name_new as select * from table_name_old where 1=2;

或者

create table table_name_new like table_name_old;

注意:前一种方式是不会复制主键类型,索引的,而后一种方式是把旧表的所有字段类型都复制到新表。

只复制表数据

如果两个表结构一样

insert into table_name_new select * from table_name_old;

如果两个表结构不一样

insert into table_name_new(column1,column2...) select column1,column2... from table_name_old;

注意:很多文章说可以通过如下语句进行数据复制,table_name_new表可以不存在,会在执行的过程中自动创建。其实该SELECT ... INTO形式是使查询结果存储在变量或将其写入文件,即table_name_new是一个变量或者文件。

select column1,column2,.... into table_name_new from table_name_old;

到此这篇关于MySQL复制表的三种方式(小结)的文章就介绍到这了,更多相关MySQL 复制表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • mysql 复制表结构和数据实例代码

    在mysql数据库开发中,我们有时候需要复制或拷贝一张表结构和数据到例外一张表,这个时候我们可以使用create ... select ... from语句来实现,本文章向大家介绍mysql复制表结构和数据一个简单实例, 比如现在有一张表,我们要将该表复制一份,以备以后使用,那么如何使用mysql语句来实现呢?其实我们可以直接使用create ... select ... from语句来实现,具体实现方法请看下面实例. 我们先来创建一张Topic表,创建Topic表的SQL语句如下: mysql

  • mysql跨数据库复制表(在同一IP地址中)示例

    数据库表间数据复制分类 在利用数据库开发时,常常会将一些表之间的数据互相导入.当然可以编写程序实现,但是,程序常常需要开发环境,不方便.最方便是利用sql语言直接导入.既方便而修改也简单.以下就是导入的方法. 1. 表结构相同的表,且在同一数据库(如,table1,table2) Sql : 复制代码 代码如下: insert into table1 select   *    from table2 (完全复制)insert into table1 select   distinct   * 

  • Mysql复制表三种实现方法及grant解析

    如何快速的复制一张表 首先创建一张表db1.t,并且插入1000行数据,同时创建一个相同结构的表db2.t 假设,现在需要把db1.t里面的a>900的数据行导出来,插入到db2.t中 mysqldump方法 几个关键参数注释: –single-transaction的作用是,在导出数据的时候不需要对表db1.t加表锁,而是使用 START TRANSACTION WITH CONSISTENT SNAPSHOT的方法: –no-create-info的意思是,不需要导出表结构: –result

  • MySQL复制表结构和内容到另一张表中的SQL语句

    1.复制表结构及数据到新表 复制代码 代码如下: CREATE TABLE 新表 SELECT * FROM 旧表 2.只复制表结构到新表 复制代码 代码如下: CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2 即:让WHERE条件不成立. 方法二:(低版本的mysql不支持,mysql4.0.25 不支持,mysql5已经支持了) 复制代码 代码如下: CREATE TABLE 新表 LIKE 旧表 3.复制旧表的数据到新表(假设两个表结构一样) 复制代码

  • MySQL 复制表详解及实例代码

    MySQL 复制表详解 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的. 本章节将为大家介绍如何完整的复制MySQL数据表,步骤如下: 使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等. 复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构. 如果你想复制表的内容,

  • mysql中复制表结构的方法小结

    mysql中用命令行复制表结构的方法主要有一下几种: 1.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2 或者 CREATE TABLE 新表 LIKE 旧表 2.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 3.复制旧表的数据到新表(假设两个表结构一样)  INSERT INTO 新表 SELECT * FROM 旧表 4.复制旧表的数据到新表(假设两个表结构不一样) INSERT INTO

  • Mysql复制表结构、表数据的方法

    本文给大家分享了好几种复制表结构.表数据的示例介绍,具体详情请看下文吧. 1.复制表结构及数据到新表 CREATE TABLE 新表SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除. 不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key.Extra(auto_increment)等属性.需要自己用"alter"添加,而且容易搞错. 2.只复制表结构到新表 CREAT

  • MySQL复制表的三种方式(小结)

    复制表结构及其数据 下面这个语句会拷贝数据到新表中. 注意:这个语句其实只是把select语句的结果建一个表,所以新表不会有主键,索引. create table table_name_new as (select * from table_name_old); 只复制表结构 create table table_name_new as select * from table_name_old where 1=2; 或者 create table table_name_new like tabl

  • MySQL删除表的三种方式(小结)

    drop table drop 是直接删除表信息,速度最快,但是无法找回数据 例如删除 user 表: drop table user; truncate (table) truncate 是删除表数据,不删除表的结构,速度排第二,但不能与where一起使用 例如删除 user 表: truncate table user; delete from delete 是删除表中的数据,不删除表结构,速度最慢,但可以与where连用,可以删除指定的行 例如删除user表的所有数据 delete fro

  • Spring配置数据源的三种方式(小结)

    目录 一.前言 三.开发数据源的方式 方式1:手动输入 方式2:Properties配置文件 方式3:Spring配置数据源 四.总结 一.前言 今天学习了用spring配置Druid数据源的三种方式,整理了学习笔记,希望大家喜欢! 二.数据源的作用 数据源(连接池)是提高程序性能如出现的 事先实例化数据源,初始化部分连接资源 使用连接资源时从数据源中获取 使用完毕后将连接资源归还给数据源 常见的数据源:DBCP.C3P0.BoneCP.Druid等等,本文主要以Druid数据源为案例实现Spr

  • 详解mysql数据去重的三种方式

    目录 一.背景 二.数据去重三种方法使用 1.​通过MySQL DISTINCT:去重(过滤重复数据) 2.group by 3.row_number窗口函数 三.总结 一.背景 最近在和系统模块做数据联调,其中有一个需求是将两个角色下的相关数据​对比后将最新的数据返回出去,于是就想到了去重,再次做一个总结. 二.数据去重三种方法使用 1.​通过MySQL DISTINCT:去重(过滤重复数据) ​ 1.1.在使用 mysql SELECT 语句查询数据的时候返回的是所有匹配的行. SELECT

  • Maven打jar包的三种方式(小结)

    不包含依赖jar包 该方法打包的jar,不包含依赖的jar包,也没有指定入口类. <build> <plugins> <plugin> <!-- 指定项目编译时的java版本和编码方式 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.

  • mybatis-plus update更新操作的三种方式(小结)

    目录 1.@ 根据id更新 2.@ 条件构造器作为参数进行更新 3.@ lambda构造器 mybatisplus update语句为null时没有拼接上去 1.@ 根据id更新 User user = new User(); user.setUserId(1); user.setAge(29); userMapper.updateById(user); 2.@ 条件构造器作为参数进行更新 //把名字为rhb的用户年龄更新为18,其他属性不变 UpdateWrapper<User> updat

  • Shell 脚本自动输入密码的三种方式小结

    目录 方式一 方式二 方式三 注意,如果创建.sh文件后不可以执行,请执行sudo chmod 755 文件名.sh来修改权限. 方式一 使用 echo “密码” | (管道符) 使用场景: sudo 命令 在使用普通用户执行 root 命令时有时候会需要输入密码,并且在输入密码后一段时间不需要再次输入(但是不影响),这时候可以使用 echo "密码" | sudo 命令 比如我需要一键清空服务器,则可以创建一个clear.sh文件(假使我的密码是 123456): echo &quo

  • apache虚拟主机配置的三种方式(小结)

    目录 一.基于IP 二.基于主机名 三.基于端口 记事本打开httpd.conf文件 ,该文件在apache的目录下,如: D:\AppServ\Apache2.2\conf,修改如下两处: LoadModule vhost_alias_module modules/mod_vhost_alias.so //去掉前面的#,意思是启用apache的虚拟主机功能,第203行 Include conf/extra/httpd-vhosts.conf //去掉#的意思是从httpd-vhosts.con

  • PostgreSQL 复制表的 5 种方式详解

    目录 CREATE TABLE AS SELECT 语句 CREATE TABLE LIKE 语句 CREATE TABLE AS TABLE 语句 SELECT INTO 语句 CREATE TABLE INHERITS 语句 PostgreSQL 提供了多种不同的复制表的方法,它们的差异在于是否需要复制表结构或者数据. CREATE TABLE AS SELECT 语句 CREATE TABLE AS SELECT 语句可以用于复制表结构和数据,但是不会复制索引. 我们可以使用以下语句基于

  • javascript实现数据双向绑定的三种方式小结

    前端数据的双向绑定方法 前端的视图层和数据层有时需要实现双向绑定(two-way-binding),例如mvvm框架,数据驱动视图,视图状态机等,研究了几个目前主流的数据双向绑定框架,总结了下.目前实现数据双向绑定主要有以下三种. 1.手动绑定 比较老的实现方式,有点像观察者编程模式,主要思路是通过在数据对象上定义get和set方法(当然还有其它方法),调用时手动调用get或set数据,改变数据后出发UI层的渲染操作:以视图驱动数据变化的场景主要应用与input.select.textarea等

随机推荐