- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 索引
索引是用于加速数据存取的数据对象。合理的使用索引可以大大降低i/o 次数,从而提高数据访问性能。1.单列索引 单列索引是基于单个列所建立的索引,比如: CREATE index 索引名 on 表名(列名) 例:给person表的name建立索引 create index pname_index on person(name);2.复合索引 复合索引是基于两个列或多个列的索引...
2019-03-28 20:50:35 414
原创 视图
视图:视图就是封装了一条复杂查询的语句。 1.建立一个新视图: 语法:CREATE VIEW 视图名称 AS 子查询 例:建立一个视图,此视图包括了20部门的全部员工信息 create view empvd20 as select * from emp t where t.deptno = 20 视图创建完毕就可以使用视图来查询,查询出来的都是20部门的员工 2.覆盖...
2019-03-28 20:50:04 141
原创 Rownum与分页查询
ROWNUM:表示行号,实际上此是一个列,但是这个列是一个伪列,此列可以在每张表中出现。但是我们不能取到中间几行,因为rownum不支持大于号,只支持小于号,如果想实现我们的需求怎么办呢?答案是使用子查询,也正是oracle分页的做法 例:查询emp表带有rownum列 select rownum, t.* from emp t取到中间几行 第一种写法: select *from...
2019-03-28 20:49:29 856
原创 子查询
1.子查询:一个查询的内部还包括另一个查询,Sql的任何位置都可以加入子查询。 1.所有的子查询必须在“()”中编写 2.子查询在操作中有三类: 单列子查询:返回的结果是一列的一个内容 单行子查询:返回多个列,有可能是一个完整的记录 多行子查询:返回多条记录2.exists和not exists关键字 1.exists (sql 返回结果集为真) 2.not exis...
2019-03-28 20:48:55 125
原创 多表查询
1.多表连接基本查询 1.关联查询 select * from emp e,dept d where e.deptno=d.deptno; 2.外连接(左右连接) 使用(+)表示左连接或者右连接,当(+)在左边表的关联条件字段上 时是左连接,如果是在右边表的关联条件字段上就是右连接。 例:查询出所有员工的上级领导 select e.empno,e.name,m.e...
2019-03-27 19:01:10 134
原创 聚合函数
1.统计记录数count() select count(*) from emp; 2.最小值查询min() select min(sal) from emp; 3.最大值查询max() select max(sal) from emp; 4.查询平均值avg() select avg(sal) from emp; 5.求和函数sum() select sum(sal) f...
2019-03-27 18:59:48 138
原创 通用函数
1.空值处理nvl 例:查询所有的雇员的年薪,年终奖存在空值,用nvl处理 select name,nvl(comm,0),sal*12+nvl(comm,0) from emp;2.Decode函数 该函数类似if....else if...esle select decode(2,1,'我是1',2,'我是2','我是无名') from dual;...
2019-03-27 18:59:24 220
原创 转换函数
1.TO_CHAR:字符串转换函数 查询所有的雇员将将年月日分开 select empno,name,to_char(hirdate,'yyyy-mm-dd')from emp; 10以下的月前面被被补了前导零,可以使用fm去掉前导零 select empno,name,to_char(hirdate,'fmyyyy-mm-dd')from emp;2.TO_CHAR还可以给数字...
2019-03-27 18:58:50 1011
原创 日期函数
1.Oracle中提供了很多和日期相关的函数,包括日期的加减,在日期加减时有一些规律日期 – 数字 = 日期日期 + 数字 = 日期日期 – 日期 = 数字 例:查询雇员进入公司的天数(sysdate – 入职日期)/7就是周数: select name round((sysdate-hirdate)/7) from emp; 2.获得两个时间段中的月数:MONTHS_BETWE...
2019-03-27 18:58:17 568
原创 数值函数
1.四舍五入函数: 默认情况下ROUND四舍五入取整: select round(123.234) from dual; 自己指定保留的位数: select round(123.234,2) from dual;2.取整: 默认全部去掉小数,也可以指定保留的位数 select trunc(12.534) from dual;3.取余数 select mod(10,3) fr...
2019-03-27 18:57:47 201
原创 字符函数
1.把小写的字符转换成大小的字符: select upper('smith') from dual; 2.把大写字符变成小写字符: select lower('SMITH') from dual; 3.把首字符大写: select initcap('smith') from dual;4.字符串的连接: 使用concat select concat('hello','wo...
2019-03-27 18:57:27 276
原创 Oracle常用语句
1.数据库定义语句DDL 创建表: create table table_name( id number(10), name varchar2(20), gender char(10), birth date ); 查看表结构: desc table_name default语句:给列指定默认值 create table table_name...
2019-03-27 18:56:41 1617
原创 Oracle常用数据类型
number:数字类型 number(p,s): p:表示数字的总位数 s:表示数字的小数位数char:固定长度的字符类型 char(n): n:表示指定占用的最大字节数 最大长度是2000字节varchar2:变长的字符类型 varchar2(n): n:表示最多可占用的字节数 最大长度为4000字节date:用于定义日期时间的类型 长度为7个字节 ...
2019-03-27 18:55:06 421
原创 数据库语言分类
1.数据库定义语言DDL:用于建立,修改,删除数据库对象 CREATE:建表或其他对象的结构 ALTER:修改表或其他对象的结构 DROP:删除表或其他对象的结构 TRUNCAT:删除表数据,保留表结构 2.数据库操作语言DML:用于改变数据表中的数据,和事务相关, 执行后要经过事务控制语句提交后才真正的将改变应用到数据库中 INSERT:将数据插入到数据库中 UPDATE:更新...
2019-03-27 18:54:25 667
原创 Oracle数据库常用操作
1.登录Oracle数据库:1.系统管理员登录:sqlplus / as sysdba;2.普通用户登录:sqlplus scott/tiger;2.查看当前连接数据库的用户:show user3.用户的切换:切换为超级管理员:conn sys/sys as sysdba;切换为普通用户:conn scott/tig...
2019-02-28 19:41:32 473
原创 Java基础常见面试题05
21什么是死锁(deadlock)?所谓死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。死锁产生的4个必要条件: 互斥条件:进程要求对所分配的资源(如打印机)进行排他性控制,即在一段时间内某 资源仅为一个进程所占有。此时若有其他进程请求该资源,则请求进程只能等待。 不剥夺条件:进程所获得的资源在未使用完毕之前,不能被其他进程强行...
2018-09-10 10:31:44 136
原创 Java基础常见面试题04
16进程和线程的区别是什么?进程是正在执行的应用程序,线程进程内部的一个执行单元,一个进程可以拥有多个线程线程又被称为轻量级进程17创建线程有几种不同的方式?你喜欢哪一种?为什么?创建线程有三种方式: 1,继承Thread类 2,实现Runnable接口 3,实现calable接口,应用程序可以使用Executor框架来创建线程池 一般的应用开发...
2018-09-10 10:30:37 108
原创 Java基础常见面试题03
11面向对象软件开发的优点有哪些?面向对象开发的优点: 1.提高代码的复用性和安全性 2.使代码开发模块化,更容易维护和修改 3.增强了代码的可靠性和灵活性 4.使代码更加容易理解12封装的定义和好处有哪些?封装的定义: 封装为对象提供了隐藏内部特性和行为的能力。对象提供了一些能被其他对象访问的方法来访问它内部的数据。封装的好处: ...
2018-09-07 09:10:47 119
原创 Java基础常见面试题02
6.Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?方法覆盖:方法名相同,方法的参数列表相同,返回值类型相同,发生在子类和父类之间。方法重载:方法名相同,方法的参数列表不同,发生在同一个类中的两个或多个方法中。7.Java中,什么是构造函数?什么是构造函数重载?什么是复制构造方法?构造函数:用于初始化成员变量,当一个类被创建时,会调用...
2018-09-06 09:18:52 121
原创 Java基础常见面试题01
#1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机,是一个执行Java字节码文件的虚拟进程,Java源代码被编译器编译成字节码文件, 然后经过类加载和字节码校验后,在Java虚拟机中进行执行。Java应用程序可以通过Java虚拟机在不同的平台上运行, 是因为Java虚拟机知道硬件平台的底层指令长度和其他特性。#2.JDK和JRE的区别...
2018-09-05 09:14:41 139
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人