学了DDL和DQL, 今天课太多, 没怎么学啊, 很烦躁, 还有3周要考试了


空格可以有一个或者多个

if not exists表示不存在则执行, 存在则不执行
方括号当中的都可
create database itcase;

show databases;查看数据库

再次创建itcase数据库
![]()
加上if not exists就不会报错

字符集演示

在数据库中不建议把字符集设置为utf8, 因为utf8长度为3个字节, 但有些特殊字符是4个字节的
所以应该为utf8mb4



使用数据库


这样就转换到itcast数据库中了


增


类似于函数传参
改

where类似于if


可以修改多条数据

不添加条件则修改整张表的值

删




基础语法
基础查询

设置别名可以增强可读性, 也可不设置别名(as可省略)

去重
实际操作演示


查询指定字段

查询所有字段
![]()
*号同理, 也可查询所有字段


查询字段, 并给字段起别名
![]()
as可以省略

观察到很多重复记录

使用去重语句去重查询

先来了解一下运算符


条件查询

当表中此成员的字段为空时, 此字段的值为null

同理

其余同离散数学

'或者' 可以用in来表示

一个下划线代表一个字符, 17个下划线代表17个字符, 这句话的意思是查找第17位为x的用户
%为任意字符, 多少个字符都无所谓, 这句话表示最后一个字符为x的用户
聚合函数
2022年11月15日
19:50


![]()
统计有idcard的成员
![]()
统计这张表的总数据量


计算平均值

计算最大值

计算最小值

计算某字段的和
分组查询
2022年11月15日
20:35



需要注意where和having的区别

会查出两个数据

由于不知道哪一项是男哪一项是女
![]()
再加上gender字段可以实现


同上

先进行条件搜索"年龄小于45" 然后再进行分组

排序查询
2022年11月15日
20:47

就相当于写cmp函数然后用sort来排序结构体



asc排序方式可以省略(默认升序)
分页查询
2022年11月15日
20:57

查询第 '(查询页码数-1) * 每页展示记录数' 页, 每页 '查询记录' 条数据
注意: 起始索引从0开始

起始索引默认为0, 当查询第0页的时候, 可以不写


练习
2022年11月15日
21:07

select * from emp where gender = "女" && age <=23 && age>=20;

select * from emp where gender = "男"&& ( age <=40&&age>=20 ) && name like '___';

select gender, count (*) from emp where age < 60 group by gender;

select name , age from emp where age <=35 order by age, entrydate desc;

select * from emp where gender = "男" && age <= 40 && age>=20 order by age, entrydate limit 0,5;
执行顺序
2022年11月15日
21:13
![]()

总结
2022年11月15日
21:14
