创建表的多种方式

2020-04-02  本文已影响0人  啊哈_6377

创建表的多种方式:

1、直接创建:

create table istester(id int primay key not null

  u_name  not null);

2、复制表结构:

create table istester2 like istester ;(会复制原表的索引)

create table istester2 (as) select * from istester where 1=2;(不会复制原表的索引)

show create table istester;(将创建原表的SQL复制出来修改名字即可创建新表)

mysqldump -uroot -pstarcor -h0.0.0.0 istester istester --no-data>/root/test_shen/beifen.sql

    mysql -uroot -pstarcor -h0.0.0.0 new_database</root/test_shen/beifen.sql

3、复制表结构和数据:

create table istester2 as select * from istester;(不会复制原表的索引)

mysqldump --no-defaults -uroot -pstarcor -h0.0.0.0 istester istester >/root/test_shen/beifen_istester.sql

source  /root/test_shen/beifen_istester .sql;(如果在库中存在同名表,将会被覆盖)

4、复制表的某些字段:

create table istester2 as select id,stu_id,istester from idoxu where 1=2;

5、复制旧表数据到新表(假设表结构一样,新表已创建):

insert into istester2 select * from istester;

(假设表结构不一样,新表已创建):

insert into istester3(id) select id from idoxu2;

INSERTINTO新表(字段1,字段2,.......)SELECT字段1,字段2,......FROM旧表

6、复制部分数据到新表

insert into new_working select * from sys_workinghours limit 5;(前五条纪录)

7、异库复制

(复制表结构)

create table idoxu like istester.idoxu;

(复制表结构和数据)

create table idoxu2 as select * from istester.idoxu;

  (完全复制所有数据)

insert into db1.table1 select * from db2.table2 ;

  (不复制重复纪录)

insert into db1.table1 select distinct * from db2.table2

上一篇下一篇

猜你喜欢

热点阅读