数据库

一丶
1.学习MySQL主要还是学习通用的SQL语句,那么SQL
语句包括增删改查,那么SQL语句是怎么分类的呢?

DQL(数据查询语言):查询语句,凡是select都是DQL。
DML(数据操作语言):insert,delete,update,对表中的数据进行增删改。
DDL(数据定义语言):create,drop,alter,对表的结构进行增删改。

二丶
简单的查询语句(DQL)
语法格式:
select 字段名1,字段名2,字段名3 。。。。from 表名;
提示:
1.任何一条sql语句以分号结尾。
2.sql语句不区分大小写。
3.给查询结果的列重命名:
select 字段名1,字段名2,字段名3 as 重新命名的名字 。。。。from 表名;
4. 别名中有中文:select 字段名1,字段名2,字段名3 as 重新命名的名字(用单引号修饰) 。。。。from 表名;
5.查询所有的字段:
select * from 表名;
三丶
条件查询

  1. 语法格式:
    select
    字段 字段。。。
    from
    表名
    where
    条件;

执行顺序:先from,然后where,在select。
2.between 。。。 and。。。。。 限制了一个范围。(是一个闭区间)
3. is null。
4. and 表示的是既干这个,又干那个,表示并且,or表示的是或者,表示既有也有。建议不确定运算符的优先级,就加小括号。
5. in等同于or。 in(1000,5000)in后面的不是区间,是具体的值,表示找出工资是1000和工资是5000的。
6. 模糊查询:like,在模糊查询中,必须掌握两个特殊的符号,一个是%,一个是——(下划线)%代表任意多个字符,_代表任意一个字符。若是想要查找有下划线的,则需要‘%_%’,通过转意,将其转化成正常的下划线。

三丶排序
(升序和降序)
按照工资的升序,找出员工名和薪资
select 字段名
from
表名
order by
工资字段名

注意:默认是升序,怎么指定升序和降序呢?acs表示升序,desc表示降序

       select  
         字段
        from
         表名
         where
         条件
     order by(表示通过这个排序)
         工资字段名
         acs
         (指定升序排)
         其中order by是最后执行的。

四丶
分组函数?
count 取得记录数
sum 求和
avg 求平均
max 取最大的数
分组函数自动忽略null

注意:所有的分组函数都是对某一组数据进行操作的。有一个null进行了运算,那么结果一定是null。

一个工具: ifnull(可能为nill的数据,被当做什么处理)空处理函数
在这里插入图片描述
思考以上的错误信息,无效的使用了分组函数?
原因:sql语句中有一个语法规则,分组函数不可直接使用在where字句当中。why??
在这里插入图片描述

count()和count(字段名)的区别?
解释: count (
):不是统计某个字段中数据的个数,而是统计总记录条数,和某个字段无关
count(字段名) 表示字段名中不为null的总数量。

五丶
groupby 和having

group by:是按照某个字段或者是某些字段进行分组
注意:记住一个规则,当一条语句中有group by的时候,select后面只能跟分组函数和参与分组的字段
having:是对分组之后的数据再进行过滤
注意:能在where过滤的一定先在where中过滤

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值