基础篇:
①mysql概述:
数据库(DateBase):存储数据的仓库,数据是有组织的进行存储
数据库管理系统(DataBaseManagementSystem)
:操纵和管理数据库的大型软件
(世面上流行的三种 oracle MySQL SQLserver)
SQL:操作关系数据库的编程语言,定义了一套操作关系数据库统一标准
1:关系代数的五个基本操作
①选择(符号):把满足条件的元组找出来(元组对应行) 关键词:条件
②投影(符号):把不需要的列去掉,留下投影的(属性对应列,对某些或几列进行属性查询)
③笛卡尔乘积:把俩个关系拼接
④集合差
⑤集合并
2:常用操作
①集合交
②连接
再分①:条件连接 先做笛卡尔积,再判断符合的条件,选择符合条件的元组留下来
②等值连接,条件固定,为表1的什么属性值=表2同样的属性值,在选择符合的元组留下
③自然连接,俩个表做等值连接,并把公共的属性(列)去掉,做一个新的表
④外连接
连接的作用:所查信息需要多个表,
⑤除运算
3:基本查询
①格式:
select (distinct:把查询去掉重复的行) 所查内容
from 所查的表(可多个)
where 条件
②常用条件
①between…and… ,not between…and…
在什么之间,不在什么之间
②in,not 确定集合
③like 模糊查询(知道一部分内容,另一部分不知道)
%表示任意长度,_表示任意字符
④and:必须满足左右俩边条件同时满足
or:满足左右其中一个条件就行
not:否定
在数据库中:布尔表达值有三个答案,真,假,空
4:聚集函数
①count(*)统计在一个关系中有多少个元组
②count([distinct]A)计算属性A中有多少个值
③sum(A):A的属性上所有元组加一起求和
④avg(A):A的属性上所有元组求平均值
⑤max(A):求最大值
⑥min(A):求最小值
5:完整格式
select(distinct)所查内容
from 所查询的表,(一个或多个)
where 条件或连接或嵌套
group by 属性(按属性相同的分组)
having 条件(对group by得到的组进去筛选)
order by _对查询结果的一个或多个属性进行升序
注意:①having可以与聚集函数一起使用,where不可以
②多表连接,查询共同的属性,选择一个进行查询,SC.sno
自然连接是俩个表连接
多表连接是三个及以上表连接
student.sno=SC.sno and sc.cno=course.cno