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

网站备案中心linux建设网站

网站备案中心,linux建设网站,一流的盐城网站开发,广州网站优化系统文章目录 前言防止表中出现重复数据统计重复数据过滤重复数据删除重复数据在这里插入代码片后言 前言 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.yayakq.cn/news/677117/

相关文章:

  • 宁波自助建站模板长春 网站 设计公司
  • 帮别人做网站必须要开公司冯站长之家官网
  • 企业外贸网站建设西安知名的集团门户网站建设公司
  • 做高级电工题的网站网站开发公司 优帮云
  • 保险网站导航广州seo营销培训
  • 网站必须做百度推广才能被别人搜到吗ps怎么做网页制作
  • 松江老城做网站discuz论坛模板
  • 山西手动网站建设推广做网站怎么偷源码做网站
  • 网站主机查询网页制作图片显示不出来
  • 长沙制作网站的公司注册公司名称的要求
  • 网站内容上传要求怎样把网站提交到百度
  • 全程营销网站建设公司网站排名提升软件
  • 阿克苏市建设银行网站个人空间网页设计html
  • 河北廊坊做网站如何做小程序微信
  • 网站建设立项申请报告网站建设费用一年多少钱
  • php企业网站源码下载企业网站的基本特点是什么
  • 建设银行流水账网站查询wordpress文章添加字段
  • 根据域名查询网站名称window优化大师
  • 河南中原建设公司网站网站建设与管理策划书
  • 静态网站末班一个好的网站建设
  • 温州微网站制作哪里有wordpress 培训
  • 基本建设工程兵网站阿里云模板建站好不好
  • 京东网站谁建设岳阳seo招聘
  • 网站备案要营业执照吗软件开发成本估算
  • html 门户网站中国深圳航空公司官网
  • 人力招聘网站建设任务执行书seo入门视频
  • xampp安装网站模板wordpress耗尽
  • 网站建设环保初中毕业学网站开发工程师
  • 湖北省建设厅网站首页福田公司是国企还是私企
  • thinkphp 门户网站z怎么做优惠券网站