MySQL中表复制:create table like 与 create table as select

代码如下:

CREATE TABLE A LIKE B

此种方式在将表B复制到A时候会将表B完整的字段结构和索引复制到表A中来。

代码如下:

CREATE TABLE A AS SELECT x,x,x,xx FROM B LIMIT 0

此种方式只会将表B的字段结构复制到表A中来,但不会复制表B中的索引到表A中来。这种方式比较灵活可以在复制原表表结构的同时指定要复制哪些字段,并且自身复制表也可以根据需要增加字段结构。

两种方式在复制表的时候均不会复制权限对表的设置。比如说原本对表B做了权限设置,复制后,表A不具备类似于表B的权限。

留空,接下来会探讨两种复制表的性能

(0)

相关推荐

  • MySQL数据表字段内容的批量修改、清空、复制等更新命令

    最近遇到一点麻烦事,新安装的PHPwind6.0正式版社区在导入之前的会员帐号资料时,发现很多会员的mail地址貌似胡乱填写的,之前的PHPwind5.5版本没有开启mail地址验证功能,所以估计很多用户胡乱填写了email地址,所以我就想要求所有正式会员重新验证邮件地址来重新激活会员帐号,结果发现社区根本没有这项功能,挣扎了N久,数据库的会员资料数据表被反复安装=删除了好几遍,总算找到了一个批量修改的方法. 不过这样操作会连社区创建者的账号都改成未激活,所以要是不清楚还真的不敢动手. 在PHP

  • MySQL 复制详解及简单实例

    MySQL 复制详解及简单实例 主从复制技术在MySQL中被广泛使用,主要用于同步一台服务器上的数据至多台从服务器,可以用于实现负载均衡,高可用和故障切换,以及提供备份等等.MySQL支持多种不同的复制技术,诸如单向,半同步异步复制等以及不同级别的复制,诸如数据库级别,表级,跨库同步等等.本文简要描述了一个基本的主从复制并给出示例. 1.复制的基本原理(步骤) a.在主库上把数据更改记录的二进制日志(binary log)     b.从库上的I/O线程连接到主库并请求发送其二进制日志文件(主库

  • 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主从复制(master-slave)实际操作案例

    在这一章节里, 我们来了解下如何在 Mysql 中进行用户授权及主从复制   这里先来了解下 Mysql 主从复制的优点:   1. 如果主服务器出现问题, 可以快速切换到从服务器提供的服务 2. 可以在从服务器上执行查询操作, 降低主服务器的访问压力 3. 可以在从服务器上执行备份, 以避免备份期间影响主服务器的服务 注意一般只有更新不频繁的数据或者对实时性要求不高的数据可以通过从服务器查询, 实时性要求高的数据仍然需要从主数据库获得   在这里我们首先得完成用户授权, 目的是为了给从服务器有

  • Windows下实现MySQL自动备份的批处理(复制目录或mysqldump备份)

    今天有个需求要在 Windows 下实现数据库自动备份,拼凑了一下解决办法. 实现的特性 可指定多个数据库 按照 年/月/日 的方式组织备份 可选的使用 WinRAR 压缩备份 使用计划任务实现定时备份 具体代码 备份 复制代码 代码如下: @echo off & setlocal ENABLEEXTENSIONS :: ---------- 配置项 ---------- :: 备份放置的路径,加 \ set BACKUP_PATH=D:\Backup\ :: 要备份的数据库名称,多个用空格分隔

  • MySQL主从复制的原理及配置方法(比较详细)

    一.复制的原理 MySQL 复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新.删除等等).每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新,以便从服务器可以对其数据拷贝执行相同的更新. 将主服务器的数据拷贝到从服务器的一个途径是使用LOAD DATA FROM MASTER语句.请注意LOAD DATA FROM MASTER目前只在所有表使用MyISAM存储引擎的主服务器上工作.并且,该语句将获得全局读锁定. MySQL 使用3个线程来执行复制功能,其中1个在主服

  • 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把一个表某个字段的内容复制到另一张表的某个字段的SQL语句写法

    需求:把一个表某个字段内容复制到另一张表的某个字段. 实现sql语句1: 复制代码 代码如下: UPDATE file_manager_folder f1LEFT OUTER JOIN file_manager_folder f2     ON f1.name = f2.name AND f2.parentId = 54SET f1.parentId = 54 WHERE f2.name IS NULL AND f1.id IN (1,2,3); 实现sql语句2: 复制代码 代码如下: upd

  • MySQL中表复制:create table like 与 create table as select

    复制代码 代码如下: CREATE TABLE A LIKE B 此种方式在将表B复制到A时候会将表B完整的字段结构和索引复制到表A中来. 复制代码 代码如下: CREATE TABLE A AS SELECT x,x,x,xx FROM B LIMIT 0 此种方式只会将表B的字段结构复制到表A中来,但不会复制表B中的索引到表A中来.这种方式比较灵活可以在复制原表表结构的同时指定要复制哪些字段,并且自身复制表也可以根据需要增加字段结构. 两种方式在复制表的时候均不会复制权限对表的设置.比如说原

  • MySql中表单输入数据出现中文乱码的解决方法

     MySQL会出现中文乱码的原因在于 1.server本身设定问题,一般来说是latin1 2.建库建表时没有制定编码格式. MySql中表单输入数据出现中文乱码的解决方法: 1.建库的时候 CREATE DATABASE test CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; 2.建表的时候 CREATE TABLE content ( text VARCHAR(100) ) ENGINE=InnoDB DEFAULT CHARSET=utf8

  • MySQL快速复制数据库数据表的方法

    某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库.使用以下方法,可以非常简单地实现. 假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb.步骤如下: 1. 首先创建新的数据库newdb #mysql -u root -ppassword mysql>CREATE DATABASE `newdb` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI; 2. 使用mysqldump及mysql的

  • MySQL系列之十三 MySQL的复制

    目录 一.MySQL复制相关概念 二.简单的一主一从架构实现 1.新数据库搭建主从架构 2.旧数据库新加从服务器 三.级联复制架构实现 四.主主复制架构 五.半同步复制的实现 六.加密传输复制的实现 七.MySQL复制的相关指令和变量总结 一.MySQL复制相关概念 主从复制:主节点将数据同步到多个从节点 级联复制:主节点将数据同步到一个从节点,其他的从节点在向从节点复制数据 同步复制:将数据从主节点全部同步到从节点时才返回给用户的复制策略叫同步复制 异步复制:只要数据写入到主节点就立即返回给用

  • 解决MySQL报错:You can‘t specify target table ‘region‘ for update in FROM clause

    目录 前言 示例一 示例二 示例三 示例四 需要注意的地方 总结 前言 首先明确一点这个错误只会发生在delete语句或者update语句,拿update来举例 : update A表 set A列 = (select B列 from A表): 这种写法就会报这个错误,原因:你又要修改A表,然后又要从A表查数据,而且还是同层级.Mysql就会认为是语法错误! 嵌套一层就可以解决,update A表 set A列 = (select a.B列 from (select * from A表) a);

  • 重置MySQL中表中自增列的初始值的实现方法

    重置MySQL中表中自增列的初始值的实现方法 1. 问题的提出 在MySQL的数据库设计中,一般都会设计自增的数字列,用作业务无关的主键. 在数据库出现频繁的删除操作或者清空操作之后,其自增的值仍然会自动增长,如果需要重新开始该如何做呢? 2. 解决办法 a.    alter table delete from table_name; ALTER TABLE table_name AUTO_INCREMENT = 1; 如果数据库表中的数据很多,则删除操作会持续比较久,这个问题需要注意. b.

  • MySQL中表锁和行锁机制浅析(源码篇)

    目录 前言 行锁 MySQL 事务属性 事务常见问题 事务的隔离级别 间隙锁 排他锁 共享锁 分析行锁定 行锁优化 表锁 共享读锁 独占写锁 查看加锁情况 分析表锁定 什么场景下用表锁 页锁 补充:行级锁与死锁 总结 前言 众所周知,MySQL的存储引擎有MyISAM和InnoDB,锁粒度分别是表锁和行锁. 后者的出现从某种程度上是弥补前者的不足,比如:MyISAM不支持事务,InnoDB支持事务.表锁虽然开销小,锁表快,但高并发下性能低.行锁虽然开销大,锁表慢,但高并发下相比之下性能更高.事务

  • MySQL级联复制下如何进行大表的字段扩容

    目录 MySQL级联复制下进行大表的字段扩容 一.背景 二.库表信息 三.方案选择 四.如何进行操作 五.总结 MySQL级联复制下进行大表的字段扩容 作者:雷文霆 爱可生华东交付服务部 DBA 成员,主要负责Mysql故障处理及相关技术支持.爱好看书,电影.座右铭,每一个不曾起舞的日子,都是对生命的辜负. 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.背景 某客户的业务中有一张约4亿行的表,因为业务扩展,表中open_id varcha

  • Mysql中复制详细解析

    1.mysql复制概念 指将主数据库的DDL和DML操作通过二进制日志传到复制服务器上,然后在复制服务器上将这些日志文件重新执行,从而使复制服务器和主服务器的数据保持同步.复制过程中一个服务器充当主服务器(master),而一个或多个其它服务器充当从服务器(slaves).主服务器将更新重新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器.从服务器在日志中读取的最后一次成功更新的位置.从服务器接受从那时起发

  • 基于MySQL数据库复制Master-Slave架构的分析

    为了应用系统的可伸缩性,往往需要对数据库进行scale out设计,scale out设计也就是通过增加数据库处理节点来提高系统整体的处理能力,即增加数据库服务器的数量来分担压力.通过这种方式系统的伸缩性增强了,成本也降低了,但是系统的架构复杂了,维护困难了.难免出现系统的宕机或故障.因此,理论上来说,系统的安全性(可能数据丢失)降低了,可用性也降低了.那么要提高数据安全性,以及系统的高可用性,很简单的办法就是所有软硬件都避免单点隐患,所有数据都保存多份.从技术上来说,就可以通过数据库复制技术实

随机推荐