数据库学习笔记

一、select语句

eg: select name  from student where id=1

and、or、not、in、between、like(%任意字符、_单字符)

where name like ‘%锦%’ 与where name regexp ‘锦’是一个意思

regexp为正则化 

where phone is null 选出电话号码为空的 

order by name desc   结果以姓名进行排序(降序) asc 升序

,在where的下面

limit 3 结果最多为三行。

limit 6,3 跳过前面6条数据,再显示3条数据

group by(将查询结果按某个属性进行分组)

having count(*)>3(having作用于组,在group by 后面,进行筛选)在order by 的前面

查询平均成绩大于等于90分的学生学号和平均成绩

//where句中不能用聚集函数作为条件表达式

select Sno,avg(Grade) from sc

group by Sno

having avg(Grade)>=90

②连接查询

自然连接 

③嵌套查询

④集合查询

查询了1号课程或则2号课程的学生,

使用union关键词

查询既选修了课程1又选修了课程2的学生

使用intersert关键词

distinct 去重

二、插入insert语erer句

insert into student values(01,‘张飞’,‘男’,20)

insett into sc(sno,cno) values(‘21414’,‘2’)

三、修改 update

将学生201215121的年龄改为22岁

update student

set sage=22

where sno=‘20221139’

四、删除 delete

删除学号为201215128的学生记录

delete

from studnet

where sno=‘20221139’

删除表 用 truncat student

范式知识点

第一范式

第二范式:消除了非主属性对主属性的部分函数依赖

学生基本信息表(学号,身份证号,姓名)学号是唯一的

(学号,身份证号)->(姓名),

(学号)->(姓名)

(身份证号)->(姓名)

所以姓名部分函数依赖于(学号,身份证号)

拆分表就符合第二范式了

第三范式:在2NF的基础上消除传递函数依赖

如果存在A→B→C,则C传递函数依赖于A

解决办法:拆分表

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值