二、数据库

本文详细介绍了数据库的基础知识,包括自动增长字段的使用,外键的概念及其级联操作,多表关系的类型,以及数据库的三大范式。此外,还讨论了数据库备份与恢复、多表查询的技巧,如内连接、外连接和子查询,以及事务管理和用户管理。通过实例解析,帮助读者深入理解数据库操作。
摘要由CSDN通过智能技术生成

配合随堂笔记一起查看,不懂重新来过。
在这里插入图片描述
数据类型中:
varchar和char区别
varchar长度是可变地,char是固定的。比如,varchar(10)的value是"abc",那么varchar长度是3;char(10)的value是“abc”,那么长度还是10。
英文是占有1个字节;中文是2个字节。
1- truncasr table :先删除表,再创建个空表

2-select from 表明 order by 列名1​ asc ,列名2 asc:
先执行最第一个排序命令,如果前面的属性有一样的时候,再执行第二个
3-​count*主要有一行不是为空,都算null
count count(ifnull 列名,0)把那个列名为null值改为0
用count计算非空列(主建)
4-分组的查询语句中,只能出现被分组的字段(列名)和聚合函数

5-where和having区别。前者是对分组前进行筛选,满足才参与分组;后者是对分组后的结果进行筛选。
where后面不能跟聚合函数判断,having可以。
而且having可以使用查询聚合函数命令的别名来简化代码。
select sex,count(id),avg(math) 人数 from student where math >70 group by sex having 人数>=2

6-limit 从哪开始显示,每页显条数 --第1页
其中,"从哪开始显示"=(当时页数-1)×每页显示条数

7-对于非空约束,一般分2种方式来添加:
one.创建表的时候,加非空约束
two.创建完表再用alter修改约束

8-唯一约束不能使用alter modify来删除(添加可以),要使用alter …drop index 列名

9-主键=非空+唯一。删除主键:alter table 表名 drop primary key

自动增长

在这里插入图片描述
自动增长是什么?
答:如果某一列是数值类型的,使用auto_increment 可以来完成值得自动增长
注意:当设置了自动增长,我insert inito value时是可以设置null的,但是设置null不是null,而是根据表的列中最后一位进行自动增长。
为什么用自动增长?
答:一般id是连续的数值,如果没有设置,自己要一个一个地加,那是不是很麻烦?

外键

在这里插入图片描述
在这里插入图片描述
“主表名称”一般为主键。
(外键)级联操作:

什么是级联?
用来设计“一对多”关系。多要关联一,一什么它们就是什么。
为什么要设置关联?
比如:有1张员工表(姓名、年龄、部门),另一张表部门表(部门ID)
如果员工表没有设置级联操作,那么它设置“部门”的时候,要一个一个打自己打。那表中数据多了,是不是很蛋疼?所以,当我设置了级联操作之后,“员工表”中的“部门”关联了“部门表中“的”部门ID”,”员工表“中的”部门“就自动填补了关联的数据。

如图,不使用级联的情况。先把dep_id设置为空(它 是表中外键,里面的值除非是关联表中的主键值or NULL,其他值不行。)

在这里插入图片描述

怎么设置联动操作?
在设置外键的时候设置,如图

在这里插入图片描述
级联更新
当设置了级联更新的时候,如果主键的值修改了,那么外键的值也对应修改。

级联删除 —【谨慎】
当设置了级联删除,如果主键的值删除了,那么对应的外键的信息全部删除。

多表关系

在这里插入图片描述
一对多
在这里插入图片描述
多对多
在这里插入图片描述
一对一
在这里插入图片描述
一对一关系的表很少很少这样,如果有我们为什么不把它拼在一起。
在这里插入图片描述
案列
主要是:

  • 知道【实体】就是一个表
  • 找到表与表之间的关系(一对一,一对多,多对多)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值