第33期Java面试题:Oracle语句类型、分页方法、和Mysql区别
作者:PHPYuan 时间:2018-08-26 03:41:31
1、Oracle和Mysql的区别(简要说明)?
1)库函数不同。
2)Oracle是用表空间来管理的,Mysql不是。
3)显示当前所有的表、用户、改变连接用户、显示当前连接用户、执行外部脚本的语句的不同。
4)分页查询时候时候,mysql用limt oracle用rownum
5)sql的语法的不同。
2、Oracle语句有多少类型
Oracle语句分三类:DDL、DML、DQL、DCL。
DDL(Data Definition Language)数据定义语言,包括:
Create语句:可以创建数据库和数据库的一些对象。
Drop语句:可以删除数据表、索引、触发程序、条件约束以及数据表的权限等。
Alter语句:修改数据表定义及属性。
Truncate语句:删除表中的所有记录,包括所有空间分配的记录被删除。
DML(Data Manipulation Language)数据操控语言,包括:
Insert语句:向数据表张插入一条记录。
Delete语句:删除数据表中的一条或多条记录,也可以删除数据表中的所有记录,但是它的操作对象仍是记录。
Update语句:用于修改已存在表中的记录的内容。
DQL(Data Query Language)数据操控语言,包括:
Select语句:用于查询已存在表中的记录的内容。
DCL(Data Control Language)数据库控制语言,包括:
Grant语句:允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限。
Revoke语句:可以废除某用户或某组或所有用户访问权限
TCL(Transaction Control Language)事务控制语言
commit:提交事务
rollback:回滚事务
3、oracle分页语句
使用rownum,两种如下:
第一种:
select * from (select t.*,rownum row_num from mytable t) b where b.row_num between 1 and 10
第二种:
select * from ( select a.*, rownum rn from mytable a where rownum <= 10 ) where rn >= 1
使用rowid,如下:
select * from scott.emp where rowid in (select rd from (select rowid as rd ,rownum as rn from scott.emp ) where rn<=6 and rn>3)