数据库
青葱碎叶
这个作者很懒,什么都没留下…
展开
-
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 阅读 · 0 评论 -
视图
视图:视图就是封装了一条复杂查询的语句。 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 阅读 · 0 评论 -
Rownum与分页查询
ROWNUM:表示行号,实际上此是一个列,但是这个列是一个伪列,此列可以在每张表中出现。但是我们不能取到中间几行,因为rownum不支持大于号,只支持小于号,如果想实现我们的需求怎么办呢?答案是使用子查询,也正是oracle分页的做法 例:查询emp表带有rownum列 select rownum, t.* from emp t取到中间几行 第一种写法: select *from...原创 2019-03-28 20:49:29 · 856 阅读 · 0 评论 -
子查询
1.子查询:一个查询的内部还包括另一个查询,Sql的任何位置都可以加入子查询。 1.所有的子查询必须在“()”中编写 2.子查询在操作中有三类: 单列子查询:返回的结果是一列的一个内容 单行子查询:返回多个列,有可能是一个完整的记录 多行子查询:返回多条记录2.exists和not exists关键字 1.exists (sql 返回结果集为真) 2.not exis...原创 2019-03-28 20:48:55 · 125 阅读 · 0 评论 -
多表查询
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 阅读 · 0 评论 -
聚合函数
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 阅读 · 0 评论 -
通用函数
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 阅读 · 0 评论 -
转换函数
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 · 990 阅读 · 0 评论 -
日期函数
1.Oracle中提供了很多和日期相关的函数,包括日期的加减,在日期加减时有一些规律日期 – 数字 = 日期日期 + 数字 = 日期日期 – 日期 = 数字 例:查询雇员进入公司的天数(sysdate – 入职日期)/7就是周数: select name round((sysdate-hirdate)/7) from emp; 2.获得两个时间段中的月数:MONTHS_BETWE...原创 2019-03-27 18:58:17 · 568 阅读 · 0 评论 -
数值函数
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 阅读 · 0 评论 -
字符函数
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 420 阅读 · 0 评论 -
数据库语言分类
1.数据库定义语言DDL:用于建立,修改,删除数据库对象 CREATE:建表或其他对象的结构 ALTER:修改表或其他对象的结构 DROP:删除表或其他对象的结构 TRUNCAT:删除表数据,保留表结构 2.数据库操作语言DML:用于改变数据表中的数据,和事务相关, 执行后要经过事务控制语句提交后才真正的将改变应用到数据库中 INSERT:将数据插入到数据库中 UPDATE:更新...原创 2019-03-27 18:54:25 · 667 阅读 · 0 评论 -
索引
索引是用于加速数据存取的数据对象。合理的使用索引可以大大降低i/o 次数,从而提高数据访问性能。1.单列索引 单列索引是基于单个列所建立的索引,比如: CREATE index 索引名 on 表名(列名) 例:给person表的name建立索引 create index pname_index on person(name);2.复合索引 复合索引是基于两个列或多个列的索引...原创 2019-03-28 20:50:35 · 411 阅读 · 0 评论