当前位置: 首页 > news >正文

门户网站定义郑州网站优化软件

门户网站定义,郑州网站优化软件,微信营销和网站建设,做网站怎么租用服务器吗文章目录 前言防止表中出现重复数据统计重复数据过滤重复数据删除重复数据在这里插入代码片后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Mysql 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正…

文章目录

  • 前言
  • 防止表中出现重复数据
  • 统计重复数据
  • 过滤重复数据
  • 删除重复数据`在这里插入代码片`
  • 后言

前言

hello world欢迎来到前端的新世界


😜当前文章系列专栏: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) NOT NULL,last_name CHAR(20) NOT NULL,sex CHAR(10),PRIMARY KEY (last_name, first_name)
);

如果我们设置了唯一索引,那么在插入重复数据时,SQL语句将无法执行成功,并抛出错。

INSERT IGNORE INTO与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。

以下实例使用了INSERT IGNORE INTO,执行后不会出错,也不会向数据表中插入重复数据:

mysql> INSERT IGNORE INTO person_tbl (last_name, first_name)-> VALUES( 'Jay', 'Thomas');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT IGNORE INTO person_tbl (last_name, first_name)-> VALUES( 'Jay', 'Thomas');
Query OK, 0 rows affected (0.00 sec)

INSERT IGNORE INTO当插入数据时,在设置了记录的唯一性后,如果插入重复数据,将不返回错误,只以警告形式返回。 而REPLACE INTO如果存在primary 或 unique相同的记录,则先删除掉。再插入新记录。

另一种设置数据的唯一性方法是添加一个UNIQUE索引,如下所示:

CREATE TABLE person_tbl
(first_name CHAR(20) NOT NULL,last_name CHAR(20) NOT NULL,sex CHAR(10),UNIQUE (last_name, first_name)
);

查询重复记录

select user_name,count(*) as count from user_table group by user_name having count>1;select * from people 
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 

统计重复数据

以下我们将统计表中 first_name 和 last_name的重复记录数:

mysql> SELECT COUNT(*) as repetitions, last_name, first_name-> FROM person_tbl-> GROUP BY last_name, first_name-> HAVING repetitions > 1;

以上查询语句将返回 person_tbl 表中重复的记录数。 一般情况下,查询重复的值,请执行以下操作:

  • 确定哪一列包含的值可能会重复。
  • 在列选择列表使用COUNT(*)列出的那些列。
  • 在GROUP BY子句中列出的列。
  • HAVING子句设置重复数大于1。

过滤重复数据

如果你需要读取不重复的数据可以在 SELECT 语句中使用 DISTINCT 关键字来过滤重复数据。

mysql> SELECT DISTINCT last_name, first_name-> FROM person_tbl-> ORDER BY last_name;

你也可以使用 GROUP BY 来读取数据表中不重复的数据:

mysql> SELECT last_name, first_name-> FROM person_tbl-> GROUP BY (last_name, first_name);

删除重复数据在这里插入代码片

如果你想删除数据表中的重复数据,你可以使用以下的SQL语句:

mysql> CREATE TABLE tmp SELECT last_name, first_name, sex->                  FROM person_tbl;->                  GROUP BY (last_name, first_name);
mysql> DROP TABLE person_tbl;
mysql> ALTER TABLE tmp RENAME TO person_tbl;

当然你也可以在数据表中添加 INDEX(索引) 和 PRIMAY KEY(主键)这种简单的方法来删除表中的重复记录。方法如下:

mysql> ALTER IGNORE TABLE person_tbl-> ADD PRIMARY KEY (last_name, first_name);

后言

创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力

http://www.tj-hxxt.cn/news/3816.html

相关文章:

  • p2p贷款网站开发百度新闻官网首页
  • 武安网站建设价格爱站数据官网
  • 基于h5的网站开发市场推广方案怎么做
  • 网站的空间是什么意思深圳排名seo公司
  • 无锡哪个网站建设比较好sem专员
  • 什么网站是专门做批发商品提高工作效率英语
  • 网络营销案例分析题万能模板北京百度网站排名优化
  • 网站空间申请本周的新闻大事10条
  • 保温管有哪些网站做百度热搜广告位
  • 品牌网站建设方湘潭seo培训
  • 学前端好还是后端好武汉seo公司
  • 甘肃省建设厅注册中心网站首页智能建站系统
  • 专业网页设计师搜索引擎seo优化平台
  • 金融网站制作关键词自动生成器
  • 公司网站制作重庆最新国际新闻热点事件
  • 一个网站怎么做镜像站如何进行营销推广
  • 西安企业网站建设公司如何建造自己的网站
  • 公总号开发就是网站开发吗免费域名注册永久
  • 做平面设计去哪个网站找素材好国际新闻
  • 北京app建设 网站开发公司百度售后客服电话24小时
  • 山东大学青岛校区建设指挥部网站合肥网络推广优化公司
  • 做免费看电影的网站不违法吗网络事件营销案例
  • 临清聊城网站优化谷歌seo站内优化
  • 亚马逊网站建设评述如何营销
  • 买了域名如何做网站最新热搜新闻
  • 江西火电建设公司网站竞价推广账户托管费用
  • 网站开发长春代写平台
  • 超低价的郑州网站建设怎么做网站排名
  • psd模板怎么做网站百度网址链接是多少
  • 昆明网站服务seo实战密码