方式1:
create table `
表名` like `
表名`;--
包含了所有的結構。如主鍵。索引。但是不包含外來鍵等
方式2:
create table `表名` select * from `表名` where 1=2;--不拷貝資料到新錶。只建立表。建立的表不包括主鍵索引等
方式3:
使用 show create table `表名`;將建立語句複製出來執行。建立的表結構與原始表一模一樣。
舉個例子
首先建立乙個表。包括乙個主鍵。1個索引
create table `tb` (
`id` int not null auto_increment ,
`name` varchar(255) null ,
`***` int(11) null ,
primary key (`id`),
index `name` (`name`) );
顯示表的建立語句
使用方式1建立表 tb_create_1;
create table `tb_create_1` like `tb`;
顯示新建表的建立語句
建立語句一樣。但是注意。如果有外來鍵或者其他約束條件的話。這個地方的建立語句就會不一樣。當然建立出來的表結構。也不和原始表相同
第2種方式建立表`tb_create_2`
顯示新建表的建立語句
建立語句和我們的原表差距很大。主鍵和索引全部都未建立出來
第3種方式建立表
複製出建立語句。修改表名為`tb_create_3`
最終語句為
create table `tb_create_3` (
`id` int(11) not null auto_increment,
`name` varchar(255) default null,
`***` int(11) default null,
primary key (`id`),
key `name` (`name`)
) engine=innodb auto_increment=2 default charset=utf8;
執行這個語句
顯示新建表的建立語句
最終我建議大家在複製表結構時候。如果表結構簡單。那麼使用第1種方式。如過表結構很複雜我對劍使用show create table 的ddl來複製建立表結構
Mysql表結構 資料複製
1 複製表結構及資料到新錶 create table 新錶select from 舊表 這種方法會將oldtable中所有的內容都拷貝過來,當然我們可以用delete from newtable 來刪除。不過這種方法的乙個最不好的地方就是新錶中沒有了舊表的primary key extra auto...
Mysql複製表結構 表資料
1 複製表結構及資料到新錶 create table 新錶select from 舊表 這種方法會將oldtable中所有的內容都拷貝過來,當然我們可以用delete from newtable 來刪除。不過這種方法的乙個最不好的地方就是新錶中沒有了舊表的primary key extra auto...
Mysql複製表結構 表資料
1 複製表結構及資料到新錶 create table 新錶select from 舊表 這種方法會將oldtable中所有的內容都拷貝過來,當然我們可以用delete from newtable 來刪除。不過這種方法的乙個最不好的地方就是新錶中沒有了舊表的primary key extra auto...