zoukankan      html  css  js  c++  java
  • 吴裕雄 26-MySQL 复制表

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

    实例
    尝试以下实例来复制表 runoob_tbl 。
    步骤一:获取数据表的完整结构。
    SHOW CREATE TABLE runoob_tbl G;
    步骤二:修改SQL语句的数据表名,并执行SQL语句。
    CREATE TABLE `clone_tbl` (
    `runoob_id` int(11) NOT NULL auto_increment,
    `runoob_title` varchar(100) NOT NULL default '',
    `runoob_author` varchar(40) NOT NULL default '',
    `submission_date` date default NULL,
    PRIMARY KEY (`runoob_id`),
    UNIQUE KEY `AUTHOR_INDEX` (`runoob_author`)
    ) ENGINE=InnoDB;
    步骤三:
    执行完第二步骤后,你将在数据库中创建新的克隆表 clone_tbl。
    如果你想拷贝数据表的数据你可以使用 INSERT INTO... SELECT 语句来实现。
    INSERT INTO clone_tbl(runoob_id,runoob_title,runoob_author,submission_date)
    SELECT runoob_id,runoob_title,runoob_author,submission_date FROM runoob_tbl;
    执行以上步骤后,你将完整的复制表,包括表结构及表数据。

    另一种完整复制表的方法:
    CREATE TABLE targetTable LIKE sourceTable;
    INSERT INTO targetTable SELECT * FROM sourceTable;

    其他:
    可以拷贝一个表中其中的一些字段:
    CREATE TABLE newadmin AS
    (
    SELECT username, password FROM admin
    )
    可以将新建的表的字段改名:
    CREATE TABLE newadmin AS
    (
    SELECT id, username AS uname, password AS pass FROM admin
    )
    可以拷贝一部分数据:
    CREATE TABLE newadmin AS
    (
    SELECT * FROM admin WHERE LEFT(username,1) = 's'
    )
    可以在创建表的同时定义表中的字段信息:
    CREATE TABLE newadmin
    (
    id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY
    )
    AS
    (
    SELECT * FROM admin
    )

    来给大家区分下mysql复制表的两种方式。
    第一、只复制表结构到新表
    create table 新表 select * from 旧表 where 1=2
    或者
    create table 新表 like 旧表
    第二、复制表结构及数据到新表
    create table新表 select * from 旧表

  • 相关阅读:
    Good Subarrays(思维)
    Just h-index(主席树裸题)
    强联通入门
    Fragrant numbers(dfs爆搜+区间dp+stoi)
    Mr. Panda and Kakin (RSA 解密+解同余方程+O(1)快速乘)
    Balance of the Force (枚举+线段树+二分图)
    2019 ICPC上海站K.Color Graph
    Wi Know (思维+线段树)
    Linux zookeeper 安装
    javaBIO
  • 原文地址:https://www.cnblogs.com/tszr/p/10089563.html
Copyright © 2011-2022 走看看