面试题: 数据库 oracle数据库 已看1 意义不大 有用
Oracle数据库面试题总结
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中只可以用单引号包起字符串
面试题: 数据库 oracle数据库 已看1 意义不大 有用的更多相关文章
- spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置
spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...
- 面试题: 数据库操作面试 已看1 很典型的sql面试题
摘要:今天参加了大展公司的一个电话面试,那位先生首先问我查询一个表的问题,条件是:1.一个数据表,有username字段.2.查询数据表中姓名姓张的.姓李的.姓刘的总数,并展现在一张表中.我当时就糊涂 ...
- 面试题:oracle数据库行转列的问题
今天我一个学弟问了一个面试题: 有表A,结构如下:A: p_ID p_Num s_id1 10 011 12 022 8 013 11 013 8 03其中:p_ID为产品ID,p_Num为产品库存量 ...
- 面试题:各大公司Java后端开发面试题总结 已看1 背1 有用 链接有必要看看
ThreadLocal(线程变量副本) --整理 Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量. 采用空间换时间,它用于线程间的数据隔离,为每一个 ...
- 数据库 | Oracle数据库查表空间使用情况
平时在使用Oracle的时候,如果业务中的数据量激增.数据量变大,很有可能就会有表空间不足的情况,需要重点关注.今天我们分享下如何查看表空间的使用情况. 一.如何查看使用状况 我们废话不说,先直接贴上 ...
- 数据库 Oracle数据库对象一
常见的数据库对象 表:基本的数据存储集合,由行和列组成 视图:从表中抽出的逻辑上相关的数据集合 序列:提供有规律的数值 索引:提高查询的效率 同义词:给对象起别名 create table语句 --c ...
- 面试题: java面试经历 已看1 抢红包如何分配每个人抢到的钱 有用 难点的面试题
2018.03.09 深圳乐唯科技 我看了下感觉这公司貌似挺不错的,面试官人也挺好的,氛围应该很不错,可惜我实力不足,唉,接续努力,下面把面试中印象较深的三个问题写一下. 面试问题1:数据库删除重复数 ...
- 数据库 Oracle数据库性能优化
--在Oacle数据库涉及到全表扫描的SQL查询(top,count)中, --现场用户删除表中大部分数据,只保留1W条数据,但是查询仍然很慢,检查磁盘IO,发现磁盘IO不是很高 --经过分析Oacl ...
- 数据库 Oracle数据库对象二
视图 --视图是对表逻辑抽象 --视图的好处:简化查询 --视图是一种虚表 --视图建立在已有表的基础上,视图赖以建立的这些吧称为基表. --向视图提供数据内容的语句为select语句,可以将视图理解 ...
随机推荐
- hdu4612 无向图中随意加入一条边后使桥的数量最少 / 无向图缩点+求树的直径
题意如上,含有重边(重边的话,俩个点就能够构成了边双连通). 先缩点成树,在求数的直径,最远的连起来,剩下边(桥)的自然最少.这里学习了树的直径求法:第一次选随意起点U,进行bfs,到达最远的一个点v ...
- Mybatis之Mapper动态代理
一.什么是Mapper的动态代理 采用Mapper动态代理方法只需要编写相应的Mapper接口(相当于Dao接口),那么Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同Dao接 ...
- Eclipse如何删除插件
删除Eclipse安装的插件方法: help -> install new softWare -> what is already installed ->选中 要卸载的插件 -&g ...
- exception_action
for i in range(3, -2, -1): try: print(4 / i) except Exception as e: print(Exception) print(e)
- Optimizer in SQL - Catalyst Optimizer in Spark SQL
SELECT sum(v) FROM ( SELECT score.id, 100+80+score.math_score+ score.english_score AS v FROM p ...
- d3 - bar chart
用 D3.js 做一个简单的柱形图. 做柱形图有很多种方法,比如用 HTML 的 div 标签,或用 svg . 推荐用 SVG 来做各种图形.SVG 意为可缩放矢量图形(Scalable Vecto ...
- python 搜集参数的共有项和所有项
搜集共性项和所有项 ###搜集共有参数值 def intersect(*args): res=[] for x in args[0]: for other in args[1:]: if x not ...
- 2.2链表 链表中倒数第k个结点
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAApQAAAENCAIAAAA+LGJ9AAAgAElEQVR4nO2dXWsc2Z2H81X8CUKom4
- CUDA: 常量内存与事件
常量内存: 常量内存用于保存在核函数执行期间不会发生变化的数据,在变量面前添加 __constant__ 修饰符: __constant__ Sphere s[SPHERES]; cudaMe ...
- 【shell】常用的正则表达式
一.校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9 ...