• 吴裕雄 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 旧表

  • 相关阅读:
    C:把算术表达式分成Token
    JavaScript数据结构——链表的实现与应用
    JavaScript数据结构——队列的实现与应用
    JavaScript数据结构——栈的实现与应用
    由“RangeError: Invalid status code: 0”错误所引发的思考
    工作是最好的投资——图书摘录
    Node.js在指定的图片模板上生成二维码图片并附带底部文字说明
    苹果手机对网页上样式为position:fixed的弹窗支持不好的解决办法
    自定义react数据验证组件
    Ubuntu 18.04中截图工具Shutter的编辑按钮不可用的解决办法
  • 原文地址:https://www.cnblogs.com/tszr/p/10089563.html
Copyright © 2020-2023  润新知