MySQL常用基础用法集锦,都在这里了
ztj100 2024-12-18 18:22 23 浏览 0 评论
大家还记得我们之前介绍过MySQL的执行顺序吗?MySQL数据插入INSERT INTO与条件查询WHERE的基本用法(二)。本节课我们将给大家介绍MySQL中常用的几个关键字SELECT/HAVING/DISTINCT/ORDER BY/LIMIT,接下来我们会按照MySQL中的执行顺序一一进行介绍。
1、SELECT
SELECT是MySQL查询语句中使用最多的关键字,表示从查询语句中取出特定字段或者结果,它有以下几种基本用法。
用法一:取出某个表的所有字段
SELECT * FROM table_name;
注:通常取出某个表的所有字段用星号(*)表示。
例如:取出titanic表中的所有字段
用法二:取出某几个特定字段
SELECT 字段1,字段2,字段3,... FROM table_name;
例如:取出titanic表中的乘客编号,乘客姓名,性别,年龄信息。
用法三:取出指定计算结果
SELECT count(*) from table_name;
例如:计算titanic表所有行记录总数
注:计算某个表的所有行记录总数可以使用count(*)或count(1)表示。
用法四:按照特定分组取出对应结果数据
SELECT 分组字段,聚合函数
FROM table_name
GROUP BY 分组字段;
例如:分组计算乘客生存与死亡的记录数。
2、HAVING
HAING关键词一般与聚合函数结合使用,它的基本语法如下。
SELECT 分组字段,聚合函数 FROM table_name
GROUP BY 分组字段
HAVING 聚合函数(条件);
例如,找出人数大于200的船舱等级。
可以看到人数大于200的船舱等级分别是1和3,人数分别为216和491。
注:由于在MySQL中先执行聚合函数的计算,因此HAVING之后可以直接使用聚合函数计算结果的别名,当然也可以使用聚合函数COUNT(PassengerId)>200表示。
3、DISTINCT
DISTINCT是MySQL中去重常用关键词,通常可以对某个或某几个特定字段进行去重操作。
用法一:对单个字段进行去重
SELECT DISTINCT 字段 FROM table_name;
例如,对titanic表中乘客年龄进行去重。
说明titanic表中共有71个不重复年龄。
用法二:对特定几个字段进行去重
SELECT DISTINCT 字段1,字段2,字段3 FROM table_name;
例如,对titanic表中船舱等级,乘客姓名进行去重。
结果共865行记录,这里是按照船舱等级和乘客姓名两个维度进行去重的,因此去重后的记录数通常会比单一维度去重结果数量更多。
4、ORDER BY
ORDER BY表示对结果进行排序操作,它的基本用法如下。
SELECT 字段1,字段2,字段3,... FROM table_name
ORDER BY 排序字段 ASC/DESC
例如,我们对titanic表中乘客年龄从大到小进行排序,展示出客户姓名与年龄。
在ORDER BY中对字段进行升序排列(从小到大),使用ORDER BY 字段名 ASC ;
如果要对字段进行降序排列(从大到小),则使用ORDER BY 字段名 DESC。
5、LIMIT
表示对结果按指定数量输出,它的基本使用方法如下。
SELECT * FROM table_name
LIMIT 100;
例如,展示titanic表中前100行记录。
通常LIMIT 与ORDER BY 结合使用。
例如,对年龄进行降序排列,同时输出前100行记录。
通过限制之后,输出的结果就只有按年龄降序排列后的前100行记录。
6、总结
以上就是本次全部内容,创作不易觉得有用的话欢迎点赞、关注,感谢大家的支持!
相关推荐
- SpringBoot整合SpringSecurity+JWT
-
作者|Sans_https://juejin.im/post/5da82f066fb9a04e2a73daec一.说明SpringSecurity是一个用于Java企业级应用程序的安全框架,主要包含...
- 「计算机毕设」一个精美的JAVA博客系统源码分享
-
前言大家好,我是程序员it分享师,今天给大家带来一个精美的博客系统源码!可以自己买一个便宜的云服务器,当自己的博客网站,记录一下自己学习的心得。开发技术博客系统源码基于SpringBoot,shiro...
- springboot教务管理系统+微信小程序云开发附带源码
-
今天给大家分享的程序是基于springboot的管理,前端是小程序,系统非常的nice,不管是学习还是毕设都非常的靠谱。本系统主要分为pc端后台管理和微信小程序端,pc端有三个角色:管理员、学生、教师...
- SpringBoot+LayUI后台管理系统开发脚手架
-
源码获取方式:关注,转发之后私信回复【源码】即可免费获取到!项目简介本项目本着避免重复造轮子的原则,建立一套快速开发JavaWEB项目(springboot-mini),能满足大部分后台管理系统基础开...
- Spring Boot的Security安全控制——认识SpringSecurity!
-
SpringBoot的Security安全控制在Web项目开发中,安全控制是非常重要的,不同的人配置不同的权限,这样的系统才安全。最常见的权限框架有Shiro和SpringSecurity。Shi...
- 前同事2024年接私活已入百万,都是用这几个开源的SpringBoot项目
-
前言不得不佩服SpringBoot的生态如此强大,今天给大家推荐几款优秀的后台管理系统,小伙伴们再也不用从头到尾撸一个项目了。SmartAdmin...
- 值得学习的15 个优秀开源的 Spring Boot 学习项目
-
SpringBoot算是目前Java领域最火的技术栈了,除了书呢?当然就是开源项目了,今天整理15个开源领域非常不错的SpringBoot项目供大家学习,参考。高富帅的路上只能帮你到这里了,...
- 开发企业官网就用这个基于SpringBoot的CMS系统,真香
-
前言推荐这个项目是因为使用手册部署手册非常...
- 2021年超详细的java学习路线总结—纯干货分享
-
本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。纯干货,良心推荐!第一阶段:Java基础...
- jeecg-boot学习总结及使用心得(jeecgboot简单吗)
-
jeecg-boot学习总结及使用心得1.jeecg-boot是一个真正前后端分离的模版项目,便于二次开发,使用的都是较流行的新技术,后端技术主要有spring-boot2.x、shiro、Myb...
- 后勤集团原料管理系统springboot+Layui+MybatisPlus+Shiro源代码
-
本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目描述后勤集团原料管理系统spr...
- 白卷开源SpringBoot+Vue的前后端分离入门项目
-
简介白卷是一个简单的前后端分离项目,主要采用Vue.js+SpringBoot技术栈开发。除了用作入门练习,作者还希望该项目可以作为一些常见Web项目的脚手架,帮助大家简化搭建网站的流程。...
- Spring Security 自动踢掉前一个登录用户,一个配置搞定
-
登录成功后,自动踢掉前一个登录用户,松哥第一次见到这个功能,就是在扣扣里边见到的,当时觉得挺好玩的。自己做开发后,也遇到过一模一样的需求,正好最近的SpringSecurity系列正在连载,就结...
- 收藏起来!这款开源在线考试系统,我爱了
-
大家好,我是为广大程序员兄弟操碎了心的小编,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标!今天小编推荐一款基于Spr...
- Shiro框架:认证和授权原理(shiro权限认证流程)
-
优质文章,及时送达前言Shiro作为解决权限问题的常用框架,常用于解决认证、授权、加密、会话管理等场景。本文将对Shiro的认证和授权原理进行介绍:Shiro可以做什么?、Shiro是由什么组成的?举...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- SpringBoot整合SpringSecurity+JWT
- 「计算机毕设」一个精美的JAVA博客系统源码分享
- springboot教务管理系统+微信小程序云开发附带源码
- SpringBoot+LayUI后台管理系统开发脚手架
- Spring Boot的Security安全控制——认识SpringSecurity!
- 前同事2024年接私活已入百万,都是用这几个开源的SpringBoot项目
- 值得学习的15 个优秀开源的 Spring Boot 学习项目
- 开发企业官网就用这个基于SpringBoot的CMS系统,真香
- 2021年超详细的java学习路线总结—纯干货分享
- jeecg-boot学习总结及使用心得(jeecgboot简单吗)
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)
- vmware17pro最新密钥 (34)
- mysql单表最大数据量 (35)