insert
/*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) insert into 表名1_插入 select (字段列表) from 表名2_复制; 例如:create table copy( id int(10) unsigned not null comment 'id', name char(20) not null default '' comment '名字' )engine=InnoDB default charset=utf8 comment='复制表'; insert into copy values(1,'admin_a'),(2,'admin_b'),(3,'admin_c'); create table append( id int(10) unsigned not null comment 'id', name char(20) not null default '' comment '名字' )engine=InnoDB default charset=utf8 comment='插入表'; insert into append select * from copy;
--主键(唯一索引)重复 insert into 表名(字段列表) values(值列表) on duplicate key update 字段1=值1,字段n=值n; 例如:create table conflict( id int(10) unsigned not null primary key comment 'id', name char(20) not null default '' comment '名字' )engine=InnoDB default charset=utf8 comment='冲突表'; insert into conflict values(1,'admin_a');
insert into conflict values(1,'admin_b');--报错 解决:当主键不冲突的时候,相当于一条插入语句;当主键有冲突的时候,相当于一条更新语句.
insert into conflict values(1,'admin_b') on duplicate key update name='admin_b';