数据库oracle面试题

192 阅读1分钟

1.delete和truncate区别

delete删除数据,一行一行删除

truncate删除整张表的数据,但保留表结构

2.集合操作符

union:不包含重复值,默认按第一个查询的第一列升序排序

union all:完全并集包含重复值,不排序

minus: 不包含重复值,不排序

3.数据库的三大范式

  • 原子性:要求每一列的值不能再拆分了

  • 一张表只能描述一个实体

  • 所有列与主键值直接相关

4.mysql数据库和oracle数据库有什么区别

  • mysql是中小型应用的数据库,一般用于个人和中小企业,oracle属于大型数据库

  • 自动增长的数据类型方面:mysql有自动增长的数据类型,oracle没有自动增长的数据类型,需要建立一个自增序列

5.oracle是怎么分页的

oracle用rownum进行分页

select rownum,s.* from (select rownum r,s.* from sap_dnitm_test s where rownum <=10) s where r>5;

mysql怎么分页

limit 0,5

6.varchar 和varchar2的区别

1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节; 2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理; 3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集, 大部分情况下建议使用varchar2类型,可以保证更好的兼容性。​敲重点:varchar2按2个字节来进行存储,varchar数字和英文还是1个字节varchar2会把空串等同于null处理,大部分情况下建议varchar2

其实oracle面试题先这样,比较简单。