MySQL復制表結(jié)構表數(shù)據(jù)方式
準備工作
新建一張 student 表,建表語句如下:
CREATE TABLE `student` ( `id` int(20) NOT NULL, `name` varchar(30) COLLATE utf8_bin DEFAULT NULL, `tid` int(10) DEFAULT NULL, PRIMARY KEY (`id`), KEY `fktid` (`tid`), CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
往表里面插入一些數(shù)據(jù),見下圖所示,這里隨便插入一些即可。

復制表結(jié)構
復制已經(jīng)存在的一張表到另一張新表,使用 like 語句,語法如下:
CREATE TABLE `新表表名` LIKE `舊表表名`;
這里,以上面的 student 表為例,將它復制到一張新的表去,語句如下:
CREATE TABLE student_backup LIKE student;
執(zhí)行結(jié)果如下所示,可以看到,除了數(shù)據(jù)沒有復制過來,索引、存儲引擎、備注、默認字符集等等都完成了復制。


復制表數(shù)據(jù)
前面完成了表結(jié)構的復制,下面接著完成表數(shù)據(jù)的復制,執(zhí)行下面的語句,然后刷新界面。
INSERT INTO student_backup SELECT * FROM student WHERE id IS NOT NULL;
得到的結(jié)果如下所示:

同時復制表結(jié)構表數(shù)據(jù)
SQL 的語法如下:
CREATE TABLE `新表表名` SELECT * FROM `舊表表名`;
這里我們依舊以 student 表為基礎,復制出一個新表 new_student 來看看,執(zhí)行一下下面的語句:
CREATE TABLE `new_student` SELECT * FROM `student`;
結(jié)果如下所示,可以看到使用這種方式復制,表和數(shù)據(jù)記錄都能過來,但原來的主鍵、索引、備注卻沒有,因此需要手動額外去添加。


總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Mysql 日期時間 DATE_FORMAT(date,format)
Mysql 日期時間 DATE_FORMAT(date,format) ,需要的朋友可以參考下。2010-12-12
隨機生成八位優(yōu)惠碼并保存至Mysql數(shù)據(jù)庫
這篇文章主要介紹了隨機生成八位優(yōu)惠碼并保存至Mysql數(shù)據(jù)庫的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-02-02

