数据库浅谈

1.sql语言分类有哪些?

数据定义语言(DDL):用于建立、删除、修改数据库对象。
常见的Oracle约束对象
primarykey(unique,not null)
unique
not null
数据操作语言(DML):用于修改表中数据
insert into 表名 (字段名)values(数据)
delect from 表名 where 条件
update 表名 set where 条件
数据查询语言(DQL):用于查询数据库数据
事务控制语言(TCL):用于维护数据的一致性
数据控制语言(DCL):用于权限的授予和收回

2.delect truncate drop区别?

delect是DML,truncate和drop是DDL,delect 是可以回滚的 truncate和drop都是不可回滚
delect 和truncate保留表结构 ,truncate一次性删除表中所有数据,drop会删除数据和表结构

3.DQL的执行顺序?

执行顺序 from-where-group by-having-select-order by
from来自于那些表
where对表中的数据进行过滤
group by对过滤后的数据分组
having对分组后的数据再进行过滤
select选择要查询的表中的字段
order by对字段进行一个排序
注意:聚合函数只能用于select和having
group by 后面出现多个列,把多个列看成一个整体 ,一般分组后是为了统计,所以会在select查询中使用聚合函数。mysql通过sql_mode可以取消这种限制。
https://blog.csdn.net/u014717572/article/details/80687042 sql_mode的意义
https://zhuanlan.zhihu.com/p/67656512 topN的问题
方式一和方式二都能解决top1的问题,去掉 ONLY_FULL_GROUP_BY后group by ,select字段中未使用聚合函数且非group字段,取哪一条记录的字段?group_concat函数作用?
在这里插入图片描述

4.Oracle的分页查询是怎么做的?

select * from(
select rownum rn, tt.* from(
select * from emp order by sal desc
) tt where rownum<11
) where rn>5
1.内层查询数据,然后确定rownum
2.次外层确定数据的上限
3.最外层确定数据的下限

5.索引

5.1索引是什么?

可以理解为书的目录,通过目录可以快速查找到想要查的内容。

5.2索引的分类?

按索引的唯一性分为:唯一索引和非唯一索引,oracle会给主键或者unique约束的字段加上唯一索引。
按索引的列的个数分为:单列索引和复合索引
按索引的存储方式分为:B树索引、位图索引

5.3索引的作用以及坏处?

好处作用:加快查询速度(经常查询的字段、排序的字段、多表连接的字段、分组的字段、主键)
坏处:1.进行DML操作的时候需要动态的维护索引
2.独立的数据库对象需要占物理内存

5.4索引的使用需要注意?

1.索引列使用函数,不走索引
2.索引列使用了通配符,不走索引
3.索引列使用了is null,not is null,or,not,!=等是不走索引

6.pl/sql

7.存储过程

8.存储函数

9.sql的优化

1.where后面的条件顺序把过滤数据量大的字段放在最后面,解析sql的时候是从右自左来解析,这样可以减少数据的扫描。
2.尽量避免使用select *,在解析的过程中会根据数据字典将星号转换成字段,会消耗时间。
3.oracle尽量大写,oracle解析sql是会现将字母转成大写,会消耗时间。
4.能使用函数的尽量使用数据库函数,因为函数是已经优化了的。
5.能用索引的尽量用索引,并且要避免索引的失效。

10.数据库的三范式

1NF:确保每列的原子性,不能再拆分。
2NF:其它字段必须完全依赖主键,特别是联合主键。
选修表(学号,课程号,成绩,学分)学分只依赖于课程号而不依赖学号。
(学号,课程号,成绩)(课程号,学分)
3NF:其它属性不存在对主键的传递依赖。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值