MySQL复杂查询_DCL_数据库备份和还原_约束_范式_表关系Hm复习
发布日期:2021-05-06 23:28:36 浏览次数:21 分类:技术文章

本文共 2193 字,大约阅读时间需要 7 分钟。

MySQL复杂查询_DCL_数据库备份和还原_约束_范式_表关系

MySQL复杂查询! 可以看大量的数据
DCL Database Control Language 分配权限
数据库备份和还原! 容灾
约束! (保证一定要有商品名,价格,有用的信息)
范式! (按照规范,表)
表关系! (一对一,一对多,多对一,上百张表都可能)

MySQL复杂查询

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

聚合函数 5个
select * from goods whrere name = ‘华为P40’; 以行为单位
聚合函数是纵向操作。
在这里插入图片描述
在这里插入图片描述
COUNT:累加列的数量
SUM:计算指定列的数值和
MAX:指定列的最大值 MIN
AVG:计算指定列的平均值 AVERAGE

在这里插入图片描述

在这里插入图片描述

别选有null值的列
在这里插入图片描述
*是最准的 是统计一共多少个商品,即多少行
在这里插入图片描述
在这里插入图片描述
如果没有提示,重启是万能的。

在这里插入图片描述

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

分组 category

在这里插入图片描述

在这里插入图片描述
统计电脑的平均价格 手机的平均价格
在这里插入图片描述
在这里插入图片描述
返回每一组的第一条 分组一般只查category 其他都是没用的

在这里插入图片描述

在这里插入图片描述
分组,然后以组为单位,计算组的个数

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
having 是在分组后对数据进行过滤,后面可以使用聚合函数

在这里插入图片描述

分组是为了统计,分组一般会结合聚合函数使用(count,sum,max,min,ave)

在这里插入图片描述

在这里插入图片描述
处理方式,分页。服务器一次性给部分数据,数据量大大减少,处理快,传输快,提高用户体验。
分页语句 limit
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数组有越界,sql没有。 /ˈɒfset/ 抵消

DCL

create user ‘root’@‘127.0.0.1’ identify by ‘root’; 通过…认出 /aɪˈdentɪfaɪ baɪ/

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

是不是3个账号密码都可以登录这个数据库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
/rɪˈvəʊk 撤回 取消

在这里插入图片描述

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

数据库备份和还原

文件的路径 倾倒 丢下 转储

在这里插入图片描述
在这里插入图片描述
原理:dump为sql语句。
但是要自己创建库,再还原。

在这里插入图片描述

mysql -uroot -proot
database db1;
use db1;
source (拖动文件路径)
不需要输入db1, use db1 即可

手动的话,会帮你创建数据库 use

– 删除用户

– 删除user2
DROP USER ‘user2’@’%’;

删除用户

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

在这里插入图片描述

约束

在这里插入图片描述

删除主键约束

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重复的条目 entity才是实体

在这里插入图片描述

alter table goods add primary key (id);
刷新

主键自增 primary key auto_increment,

在这里插入图片描述

在这里插入图片描述
alter table goods auto_increment=10000;
已有的数据不过会变

在这里插入图片描述

每插入一条,就会自动增长一次。
字段类型必须是整数。int

在这里插入图片描述

在这里插入图片描述

unique + not null = primary key; 而且主键还能自增,还能关联外键。

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

  1. 一张表只能有一个主键 但一张表可以有多个唯一非空的字段
  2. 主键才能自动增长。

添加默认值

在这里插入图片描述

在这里插入图片描述
都是加在字段类型的后面

外键约束

在这里插入图片描述

dep_id 每个id都是不同的部门
在这里插入图片描述
在这里插入图片描述
然后我们乱来
在这里插入图片描述
王中王找不到部门6,无效数据
不能要有id=1,2之外的数
所以需要外键约束
在这里插入图片描述
给别人提供数据的是老大

要研发部门和销售部门的是从键

在这里插入图片描述

constraint fk_dept_emp foreign key(dep_id) references id(dept)
references 引用 把。。引作参考 主表id主键
在这里插入图片描述
在这里插入图片描述

外键约束,外键的子行的值只能取老大的主键的值,外键约束是两张表的事情,不能添加无效信息。

dep_id 只能取1,2

子行只能取1,2 只能取老大的主键的值
在这里插入图片描述

删除外键约束 (名) 添加外键约束

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
外键约束词和外键约束名可以删除,系统会帮你自动设置名
在这里插入图片描述

级联删除

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
可以换行
在这里插入图片描述
给外键约束加上级联更新和删除 cascade 级联 小瀑布

在这里插入图片描述

小弟删键没有影响员工删除是正常的,老大删除了,整个就没了

范式 设计很重要 数据库的设计

不好的就漏风漏雨

在这里插入图片描述

第一范式

在这里插入图片描述

表中每一个字段不能再拆分,可以直接使用
在这里插入图片描述
看哪些人迟到,不需要逗号split切割,再判断。

第二范式 主键

在这里插入图片描述

一张表只描述一件事情(一个实体) 姓名 性别 学生相关
班级和教室 属于班级相关 还有考勤时间表
在这里插入图片描述
表中的每一个字段都依赖于主键
在这里插入图片描述
用主键来区分

第三范式 外键 引用别人的主键

表中的字段引用其他表的主键 班级课程名称可能重复,但上课的教室可能不一样

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一个班级对应多个学生

范式总结

在这里插入图片描述

在这里插入图片描述

表关系

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
可以一对多,但不满足第一范式
找一个人在哪个部门,又要从第一个部门开始,然后split拆开

在这里插入图片描述

这个满足第一(字段不可拆为多个字段)、二(一个表一个实体、主键)、三范式(表中的字段要引用其他表的主键)

多对多

在这里插入图片描述

找谁上数学课,又要split
在这里插入图片描述
张三选择 2 1怎么办???
在这里插入图片描述
在这里插入图片描述
又是主键又是外键
在这里插入图片描述
多表查询(多对多 四五张表找规律)

在这里插入图片描述

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

alter table xxx rename to xxx;

在这里插入图片描述

外键的值只能是主键的数字 5 6 都不能选 外键不能重复 11不能再有11,不能重复选
在这里插入图片描述
用户商品多对多

总结

在这里插入图片描述

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

mysql的配置文件 my.ini mysql追踪sql语句 在这里插入图片描述

安装的配置都是在这里面

在这里插入图片描述
重启服务
在这里插入图片描述
隐藏了ProgramData
在这里插入图片描述
如果数据是100w,数据库就炸了。

考试重点

xml

反射
注解不考
网络编程 考

在这里插入图片描述

选择题 横线让你选
在这里插入图片描述
map集合存数据 操作流 把数据保存下来
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
append
在这里插入图片描述

上一篇:MySQL多表查询_索引_事务和隔离和事务原理_复习
下一篇:数据库的概念_安装和登录_DDL操作数据库和数据表_DML表数据的增删改_DQL表数据的查询

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月20日 02时06分08秒