- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL 处理重复数据
MySQL 处理重复数据 MySQL 处理重复数据 有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但 有时候我们也需要删除这些重复的数据 本章节我们将为⼤家介绍如何防⽌数据表出现重复数据及如何删除数据表中的重复数 据 防⽌表中出现重复数据 你可以在MySQL数据表中设置指定的字段为 PRIMARY KEY (主键) 或者 UNIQUE (唯⼀) 索引来保证数据的唯⼀性 让我们尝试⼀个实例:下表中⽆索引及主键,所以该表允许出现多条重复记录 CREATE TABLE person_tbl ( first_name CHAR(20), last_name CHAR(20), sex CHAR(10) ); 如果你想设置表中字段first_name ,last_name数据不能重复,你可以设置双主键模式来 设置数据的唯⼀性, 如果你设置了双主键,那么那个键的默认值不能为NULL ,可设 置为NOT NULL 如下所⽰: CREATE TABLE person_tbl ( first_name CHAR(20) OT ULL, last_name CHAR(20) OT ULL, sex CHAR(10), PRIMARY KEY (last_name, first_name) ); 如果我们设置了唯⼀索引,那么在插⼊重复数据时,SQL语句将⽆法执⾏成功,并抛出 错 INSERT IGNORE INTO与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中 已经存在的数据,如果数据库没有数据,就插⼊新的数据,如果有数据的话就跳过这 条数据 这样就可以保留数据库中已经存在数据,达到在间隙中插⼊数据的⽬的 以下实例使⽤了INSERT IGNORE INTO ,执⾏后不会出错,也不会向数据表中插⼊重 复数据: mysql I SERT IG ORE I TO person_tbl (last_name, first_name) - VALUES( Jay , Thomas); Query OK, 1 row affected (0.00 sec) mysql I SERT IG ORE I TO person_tbl (last_name, first_name) - VALUES( Jay , Thomas); Query OK, 0 rows affected (0.00 sec) INSERT IGNORE INTO当插⼊数据时,在设置了记录的唯⼀性后,如果插⼊重复数 据,将不返回错误,只以警告形式返回 ⽽REPLACE INTO into如果存在primary 或 niq e相同的记录,则先删除掉 再插⼊新记录 另⼀种设置数据的唯⼀性⽅法是添加⼀个UNIQUE索引,如下所⽰: CREATE TABLE person_tbl ( first_name CHAR(20) OT ULL, last_name CHAR(20) OT ULL, sex CHAR(10) U IQUE (last_name, first_name) ); 查询重复记录 select user_name,count(*) as count from user_table group by user_ select * from people where peopleId in (select peopleId from people group by peopleId 统计重复数据 以下我们将统计表中 first_name 和 last_name的重复记录数: mysql SELECT COU T(*) as repetitions, last_name, first_name - FROM person_tbl - GROUP BY last_name, first_name - HAVI G repetitions 1; 以上查询语句将返回 person_tbl 表中重复的记录数 ⼀般情况下,查询重复的值,请 执⾏以下操作: 确定哪⼀列包含的值可能会重复 在列选择列表使⽤COUNT(*)列出的那些列 在GROUP BY⼦句中列出的列 HAVING⼦句设置重复数⼤于1
文档评论(0)