常见数据库面试题目

  • SQL语句执行顺序

1 from子句 组装来自不同数据源的数据

2 where子句 基于指定的条件对记录进行筛选

3 group by子句 将数据划分为多个分组

4 使用聚集函数进行计算

5 having子句筛选分组

6 计算所有表达式

7 select选出符合要求的数据

8 对结果进行排序并输出

  • having和where的区别

都用于筛选。

having短语作用于组,从中选择满足条件的组;where子句作用于基本表或视图,从中选择满足条件的元组。

  • 数据库规范

第一范式:数据库表的每一列都是不可分割的数据项,同一列不能有多个值

第二范式:每个非主属性完全函数依赖某个候选键。在第一范式的基础上,消除非主属性对码的部分函数依赖

第三范式:每个非主属性都不传递依赖于每个候选键。在第二范式的基础上,消除非主属性对码的传递函数依赖

BC范式:每个属性都不传递依赖于某个候选键。在第三范式的基础上,消除了主属性对码的部分和传递函数依赖

第四范式:在BC范式的基础上,消除非平凡且非函数依赖的多值依赖

  • 索引和视图的区别

1 索引:

使数据库程序无需对整个表进行扫描,就可找到数据。

当查询数据时,系统先搜索索引,找到数据的指针,再直接通过指针从表中读取数据。

优点:查询快

缺点:占用内存;在表中执行insert、update、delete时,有额外操作维护索引

2 视图:

虚表,数据仍存放在基本表中,只是根据该视图查询数据。

优点:简化查询;安全保护机密数据

缺点:基本表结构变化,致使维护试图

  • 常见SQL语言

1 创建数据库

create database <库名>;

2 删除数据库

drop database <库名>;

3 创建表

create table <表名>
(
id char(10) primary key,
name varchar(10),
sex char(1),
score float
);

4 修改基本表

4.1 添加一个字段

alter table <表名>
add dept varchar(20);

4.2 修改一个字段

alter table <表名>
modify score smallint;

4.3 删除一个字段

alter table <表名>
drop dept;

5 删除基本表

drop table <表名>;

6 添加一个元组

insert
into <表名>
values ("1014051334","twc","F",95);

7 删除一个元组

delete
from <表名>
where id="1014051334";

8 修改字段数值

update <表名>
set score=97
where id="1014051334";

9 查询表中数据

select * from student where score=97;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值