学习日记:MySQL--Day02

继昨天学完了SQL语言中的DDL,今天我从这开始继续往下学习。尽量每天学完的内容多看两遍巩固,然后多练习,这样每天看两遍很快就能印在脑海里了。

DCL由于与后面事务模块有关联,最好和事务一起学,所以暂时只学了DDL,DML,DQL。

DML:

  • 添加数据(INSERT)
  • 修改数据(UPDATE)
  • 删除数据(DELETE)

INSERT添加数据

*值得注意的是,数据大小要在字段的规定范围内,如果传的是字符串和日期这类数据,要用引号包裹,单双皆可。然后插入的值顺序要与括号内字段顺序一致。这里的四条语句其实可以分为两小组,因为每组区别只有是否有字段列表,字段列表是可省略的。

- 指定字段添加数据:insert into 表名 (字段名1,字段名2) values(值1,值2);
- 全部字段添加数据:insert into 表名 values (值1,值2);

eg:

*这里要注意的是:我写的练习中'create_time'和'update_time'两个字段加了非空约束(not null),所以这里要添加数据也要一起添加。而 now() 是SQL的函数,表示获取现在的时间。

- 批量添加数据(指定字段):insert into 表名(字段名1,字段名2) values(值1,值2),(值1,值2);
- 批量添加数据(全部字段):insert into 表名 values(值1,值2,...),(值1,值2,...);

eg:

*批量添加操作中,是根据括号内字段列表,一行一行添加数据。

UPDATE修改数据

- update 表名 set 字段名1 = 值1,字段名2=值2,...[where 条件];

eg:

*如果要改全部就不用加where限制条件

DELETE删除数据

*该语句不能删除字段的值,如果要删除值要用UPDATE,将该字段值设置为null。

- delete from 表名 [where 条件];

eg:

DQL:

  • 基本查询:

                        具体语法:

- 查询多个字段:select 字段1,字段2,字段3 from 表名

*这个通俗理解就是,查询所有字段

- 查询所有字段(通配符):select * from 表名;

*as可省略,如果别名中间有空格之类的符号,整体要加引号区分

- 设置别名: select 字段1 [as 别名1] ,字段2 [as 别名2] from 表名

- 去除重复记录:select distinct 字段列表 from 表名

  • 条件查询:

                具体语法:

*语法很简单,主要还是具体情况具体分析吧

- select 字段列表 from 表名 where 条件列表;

                 Where限制列表:

                eg:

  • 分组查询:

        聚合函数:

                *将一列数据作为一个整体,进行纵向计算且不对null值进行计算

        聚合函数具体语法:

- select 聚合函数(字段列表) from 表名

        eg:

        分组查询具体语法:

- select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件]

        练习及解析(重要):

*这块难,我觉得要点在于分清楚模块。比如记住select后面跟的是字段列表,意思是从这个表中挑选这个字段的数据。以2为例子。

先查询入职时间在‘2015-01-01’前的员工 -->select *from tb_emp where entrydate

接着对结果进行分组,就在后面加group by job。-->

select *from tb_emp where entrydate

此时注意,最终是要获取职位,所以要把前面通配符*改成job,最后还有一个条件员工数量大于等于,但由于count(*)只能出现一次。要筛选必须写在having后面。

注意事项:

where与having不同:

1.执行时机不同:where是分组前过滤,不满足条件不分组;having是分组后对结果进行再过滤

2.判断条件不同:where不能对聚合函数进行判断,having可以。

执行顺序:

where>聚合函数>having

*今天所学个人认为DQL格外琐碎,特别是分组查询,很绕,需要多多理解,DQL到这还没完,后面还有两种查询。

*******本人小白,望路过大佬指正

  • 30
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值