1.防止表中出现重复数据
在mysql数据表中设置指定的字段为主键或唯一索引来保证数据的唯一行。
-- 方法1:指定主键
create `table person_tbl`(
`first_name` char(20) not null,
`last_name` char(20) not null,
`set` char(10),
primary key (last_name, first_name));
-- 方法2:设置唯一索引
create table `person_tbl`(
`first_name` char(20) not null,
`last_name` char(20) not null,
`sex` char(10),
unique(last_name, first_name));
-- insert ignore into:插入重复数据,就不执行;否则就插入新的数据。
insert ignore into person_tbl (last_name, first_name)
values ( 'Jay', 'Thomas');
2.统计重复数据
统计表中first_name和last_name的重复记录数
-- 根据last_name,first_name分组列出每组的数量、列,限定条件重复数>1
select count(*) as repetitions, last_name, first_name from person_tbl
group by last_name,first_name having repetitions > 1;
3.过滤重复数据
使用distinct关键字即可
select distinct last_name, first_name from person_tbl;
4.删除重复数据
create table `tmp` select * from person_tbl group by last_name, first_name;
没有执行成功,提示有重复数据。ignore貌似没有生效
mysql> ALTER IGNORE TABLE person_tbl ADD PRIMARY KEY (last_name, first_name);