JavaSE部分还有一大堆笔记还在慢慢整理,这周又把MySQL学完了,无情!!!
下面是自己整理的一些笔记,有兴趣的可以在B站看看老杜的视频。
MySQL
SQL语言的分类
- DQL(数据查询语言): 凡是select语句都是DQL。
- DML(数据操作语言):insert (插入),delete(删除), update(更新),对表当中的数据进行增删改。
- DDL(数据定义语言):create新建 drop删除 alter修改结构 rename重回名 truncate 删除,对表结构的增删改。
- DCL(数据控制语言): grant授权、revoke撤销权限等。
简单语句
- 创建: create database 数据库名称(MySQL的命令);
- 删除: drop database 数据库名称;
- 查看表结构:desc +表名;
- 查看表中的数据:select * from +表名;
条件查询
一个完整的DQL语句语法格式:
select 5
…
from 1
…
where 2
…
group by 3
…
having 4
…
order by 6
执行顺序:先from,然后where,group by,having 最后select order by是最后执行的。
group by : 按照某个字段或者某些字段进行分组。
having : having是对分组之后的数据进行再次过滤。
分组函数
count 计数
sum 求和
avg 平均值
max 最大值
min 最小值
连接查询方式来划分,包括:
内连接:inner可以省略
-
等值连接:最大特点是:条件是等量关系。
语法: ... A join B on 连接条件 where
-
非等值连接:最大的特点是:连接条件中的关系是非等量关系。
select a.name,a.sal,b.grade from table1 a inner join table2 b on a.sal between b.losal and b.hisal;
-
自连接:最大的特点是:一张表看做两张表。自己连接自己。
外连接:outer可以省略
-
左外连接(左连接)
外连接:(左外连接/左连接) select a.name '员工', b.name '领导' from table1 a left outer join table2 b on a.mg = b.em;
-
右外连接(右连接)
select a.name '员工', bname '领导' from table2 b right outer join table1 a on a.mg = b.em;
全连接(很少用!)
三张表连接
-
上单
.... A join B join C on ... 表示:A表和B表先进行表连接,连接之后A表继续和C表进行连接。
子查询
select语句当中嵌套select语句,被嵌套的select语句是子查询。
子查询可以出现在
select
..(select).
from
..(select).
where
..(select).
我告诉你我喜欢你,并不是一定要和你在一起,只是希望今后的你,在遭遇人生低谷的时候,不要灰心,至少有人曾经被你的魅力所吸引。曾经是,以后也会是。
(酸一下,溜了溜了)