Oracle数据库面试题总结

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 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中只可以用单引号包起字符串


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
8月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
664 93
|
7月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
366 0
|
10月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
8月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
527 8
|
10月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
457 11
|
10月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—服务器异常断电导致Oracle数据库报错的数据恢复案例
Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库没有备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并验证恢复的数据库文件。
|
10月前
|
存储 Oracle 关系型数据库
【赵渝强老师】Oracle RMAN的目录数据库
Oracle RMAN默认将备份元信息存储在控制文件中,但控制文件损坏或丢失会导致恢复失败,且备份增多会使控制文件无限增长。为解决这些问题,Oracle引入了RMAN目录数据库(Catalog Database),专门用于存储RMAN备份的元信息。使用目录数据库可提升备份管理效率,支持多数据库共享、长期备份历史记录存储,并可保存RMAN脚本。本文详细介绍了如何创建目录数据库、注册目标数据库及其操作步骤。
271 0
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
2467 28
|
11月前
|
存储 Oracle 关系型数据库
oracle数据恢复—oracle数据库执行错误truncate命令的数据恢复案例
oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况,例如数据库备份无法使用或者还原报错等。下面和大家分享一例oracle数据库误执行truncate命令导致数据丢失的数据库数据恢复过程。
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的闪回数据库
Oracle闪回数据库功能类似于“倒带按钮”,可快速将数据库恢复至 earlier 状态,无需还原备份。本文介绍了闪回数据库的使用方法及实战案例:包括设置归档模式、开启闪回功能、记录SCN号、执行误操作后的恢复步骤等。通过具体 SQL 操作演示了如何利用闪回数据库恢复被误删的用户数据。注意,使用此功能前需确保数据库为归档模式。
432 9

推荐镜像

更多