JavaWeb-MySQL

本文详细介绍了MySQL的基础知识,包括安装配置、DataGrip工具的使用、数据类型、DDL(数据定义语言)如数据库和表操作、DML(数据操纵语言)如增删改查、DQL(数据查询语言)及复杂查询技巧、事务处理、索引优化,以及多表操作(一对一、一对多、多对多)和SQL高级特性如子查询和连接查询。
摘要由CSDN通过智能技术生成


一、MySQL

安装配置教程

分类:

  • DDL:对数据库和表进行操作
  • DML:增加、删除、修改
  • DQL:查询
  • DCL:权限、事务、提交、回滚

二、DataGrip【MySQL客户端工具】

教程

三、数据类型

数值类型

在这里插入图片描述字符串类型

在这里插入图片描述日期时间类型

在这里插入图片描述

四、DDL

3.1 数据库操作

在这里插入图片描述

3.2 表操作

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

四、DML

在这里插入图片描述在这里插入图片描述在这里插入图片描述

四、DQL

在这里插入图片描述在这里插入图片描述

注意:去重查询使用的是distinct

where条件列表

在这里插入图片描述在这里插入图片描述查询名字是两个字的员工信息

select * from user where name like '__';

聚合函数

在这里插入图片描述分组查询注意事项

使用分组查询之后,select所返回的字段一类是分组字段,一类是聚合函数 例如:
select sex, count(*) from user group by sex;

查询入职时间在2015-01-01之前的员工,并且按照职位进行分组,获取员工数量大于等于2的职位
select job,count(*) from user where entrydate<='2015-01-01' group by job having count(*) >=2;

where与having的区别:

  • 执行时机不同,where是分组之前进行过滤,不满足where条件,不参与分组;having是分组之后对结果进行过滤。
  • 判断条件不同:where不能对聚合函数进行判断,having可以。

根据入职时间进行升序排序,如果入职时间相同,再按照更新时间进行降序排序

-- 如果存在多个排序规则,使用","进行分割
select * from user order by entrydate, update_time desc;

分页查询公式

select * from user limit (页码-1) * 每页展示记录数, 每页展示记录数

if(条件表达式, true, false)语句

select (if(gender=1, '男', '女')) 性别, count(*) from user group by gender;

case表达式

select
	(case job when 1 then '班主任' when 2 then '讲师' when 3 then '学工主管' when 4 then '教研主任' else '未分配职位' end) 职位, 
	count(*) from user group by job;

五、多表操作

5.1 一对一

需要在任意一方增加外键,并且增加唯一约束

5.2 一对多

需要在多的表中增加外键一所对应的ID

在这里插入图片描述

5.3 多对多

多对多的关系,需要创建第三张表,关联表之间的关系。

在这里插入图片描述

5.4 多表查询

内连接

select * from user,dept where user.deptId=dept.id;
select * from user join dept where user.deptId=dept.id;

左连接

select * from user left join dept on user.deptId = dept.id;

右连接

select * from user right join dept on user.deptId = dept.id;

子查询

select * from user where deptId=(select id from dept where id=2)
select * from user where (entrydate,job) = (select entrydate,job from tmp where name="张三")

六、事务

在这里插入图片描述在这里插入图片描述

七、索引

索引(index)是帮助数据库高效获取数据的数据结果。

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

创建索引

create index 索引名 on(字段)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Monly21

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值