创建表的多种方式:
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
网友评论