Oracle数据库面试题总结

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 1、SQL语句分类DQL(数据查询语言)selectDML(数据操作语言)insert、delete、updateDDL(数据定义语言)create、drop、alterDCL(数据控制语言)grant:把权限授予用户、revoke:把权限从用户收回TPL(TCL,事务控制语言):commit、rollback

1、SQL语句分类


DQL(数据查询语言)select


DML(数据操作语言)insert、delete、update


DDL(数据定义语言)create、drop、alter


DCL(数据控制语言)grant:把权限授予用户、revoke:把权限从用户收回


TPL(TCL,事务控制语言):commit、rollback


2、Oracle是怎样分页的


Oracle用rownum进行分页


分页语句的步骤:


a.最内层sql,查询要分页的所有数据


b.第二层sql,通过rownum伪列确定显示数据的上限,并且给查询的数据添加rownum伪列的值


c.最外层sql,设置显示数据的下限


select*from


(select a.*,rownum r from


(select*from表名 where条件 orderby列) a


whererownum<=页数*条数) b where r>(页数-1)*条数


3、truncate和delete区别


1)Truncate和delete都可以将数据实体删掉,truncate操作不记录到rollback日志,同时数据不能恢复


2)Truncate是数据定义语言(DDL),delete是数据操作语言(DML)


3)Truncate不能对视图进行操作,delete操作不会腾出表空间的内存


4、说说Oracle中经常使用到的函数


length长度、lower小写、upper大写、to_date转化日期、to_char转化字符、to_number转化数字Ltrim去左边空格、rtrim去右边空格、substr截取字符串、add_month增加或减掉月份、


5、主键有几种?


复合型、整数型、字符型


6、怎样创建一个索引,索引使用的原则,有什么优缺点


create index 索引名 on 表名(列名)


原则:


建议索引列建立not null约束


经常与其他表进行连接的表,在连接列上建立索引


优缺点:


创建索引能大大加快检索速度,加强表与表的连接,但是创建索引很占用空间


7、使用oracle伪列删除表中的重复数据中的一条


delete fromtable t where t.rowid!=(select max(t1.rowid) from table t1 wheret.name=t1.name)


8、如何只显示重复数据


select * fromtable group by id having count(*)>1


9、什么是数据库的映射


就是将数据库中表与字段对应到模型层类名与属性的过程


10、如何设计数据库


首先分析项目,看看项目中有多少实体(矩形),为每个实体添加属性(椭圆),明确实体之间的关系(菱形),绘制E-R图,将E-R图转换成表格


11、如何实现数据库的优化


1)调整数据库结构的设计:需要考虑是否使用分区功能、是否建立索引等


2)调整数据库的SQL语句


3)调整服务器的内存分配


4)调整硬盘I/O


5)调整操作系统参数


12、关系型数据库的关系操作有哪些?


选择(查询某些行)、投影(查询某些列)、链接(把多张表连接获取数据)、增加、删除、修改      


13、你知道哪些菲关系型数据库,与关系型数据库的区别是?


14、SQL语句与SQL*PLUS命令的区别


1)SQL是关系型数据库的标准操作语言,而SQL*PLUS是一个客户端工具,除了执行标准的SQL外,还可以执行工具本身的一些命令。


2)SQL语句不可以缩写,而SQL*PLUS命令可以缩写


15、oracle数据库中如何显示表的结构


新建命令窗口,输入desc 表名


16、oracle中数据库对象的命名规则


1)必须由字母开始,长度在1-30个字符之间


2)包含字母、数字、_、$、#


3)同一个Oracle服务器所拥有的对象名不能重复


4)名字不能为Oracle 的保留字


5)大小写不敏感


17、数据库的三大范式是什么?


1)第一范式:原子件,要求每一列的值不能再拆分了


2)第二范式:一张表只描述一个实体(若列中有冗余数据,则不满足)


3)第三范式:所有列与主键直接相关


18、事务的特性(ACID)是指什么?


1)原子性(Atomic):事务中的各项操作,要么全做要么全不做,任何一项操作的失败都会导致整个事务的失败


2)一致性(Consistent):事务结束后系统状态是一样的


3)隔离性(Isolated):并发执行的事务彼此无法看到对方的中间状态


4)持久性(Durable):事务完成后,即使发生灾难性的故障,通过日志和同步备份可以在故障发生后重建数据


19、MySQL数据库与Oracle数据库有什么区别


1)应用方面:MySQL是中小型应用的数据库,一般用于个人项目或中小型网站及论坛。Oracle属于大型数据库,一般在具有相当规模的企业应用。


2)自动增长的数据类型方面:MySQL有自动增长的数据类型。Oracle没有自动增长的数据类型,需要建立一个自增序列


3)group by用法:MySQL中group by在select语句中可以随意使用,但是在Oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的或者是group by子句中的列,否则报错


4)引号方面:MySQL中可以用单引号、双引号包起字符串,Oracle中只可以用单引号包起字符串


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
15天前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
58 11
|
1月前
|
架构师 数据库
大厂面试高频:数据库乐观锁的实现原理、以及应用场景
数据库乐观锁是必知必会的技术栈,也是大厂面试高频,十分重要,本文解析数据库乐观锁。关注【mikechen的互联网架构】,10年+BAT架构经验分享。
大厂面试高频:数据库乐观锁的实现原理、以及应用场景
|
1月前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
1月前
|
SQL 移动开发 Oracle
[Oracle]面试官:你说说rownum、currval与nextval分别是什么,还有没有其他的?
本文主要介绍了 Oracle 数据库中的 `rownum` 虚拟字段和 `nextval`、`currval` 伪列。`rownum` 用于生成结果集的序号,常用于 `top-n` 查询。`nextval` 和 `currval` 基于序列,分别表示序列的下一个值和当前值,常用于主键的自动填充。文中提供了详细的示例和注意事项,帮助读者更好地理解和使用这些功能。
56 1
[Oracle]面试官:你说说rownum、currval与nextval分别是什么,还有没有其他的?
|
1月前
|
SQL Oracle 关系型数据库
[Oracle]面试官:你举例几个内置函数,并且说说如何使用内置函数作正则匹配
本文介绍了多种SQL内置函数,包括单行函数、非空判断函数、日期函数和正则表达式相关函数。每种函数都有详细的参数说明和使用示例,帮助读者更好地理解和应用这些函数。文章强调了字符串操作、数值处理、日期计算和正则表达式的使用方法,并提供了丰富的示例代码。作者建议读者通过自测来巩固学习成果。
26 1
[Oracle]面试官:你举例几个内置函数,并且说说如何使用内置函数作正则匹配
|
28天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
1月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
20天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
1月前
|
存储 SQL Oracle
[Oracle]面试官:你简单说说常用的4种约束
本文介绍了数据库表中的几种常见约束,包括主键、唯一键、外键、检查和非空约束。详细说明了每种约束的创建、删除及启用/禁用方法,特别强调了外键约束的级联操作和检查约束的正则表达式应用。建议多练习手写SQL命令以加深理解。
38 2
|
2天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
10 3

推荐镜像

更多