Oracle_第一弹
来源:互联网 发布:qt gui编程 编辑:程序博客网 时间:2024/06/07 12:56
点击下载1-4 word版本
目 录
oracle预先准备 (安装) 1
内置用户 1
应用内置用户 1
内置表 2
一些基本查询 2
去重复查询 2
四则运算查询 2
字段 字符串连接 2
条件查询 2
查询不为空的字段 3
包含查询 between and 包含临界点 3
参数条件查询 等于多条件 3
排序 3
模糊查询 3
单行函数 3
虚表,伪表 4
数值函数 4
日期函数 4
转换函数 4
多行函数 (聚合函数) 5
练习 5
基本查询 5
一些特殊的 5
聚合函数 5
单行函数 6
虚表 dual 6
数值函数 6
转换函数 6
oracle_day1 安装_基本查询
oracle预先准备 (安装)
安装xp虚拟系统
安装oracle服务
在本机安装oracle的官方客户端
在本机安装PLSQL Developer
内置用户
应用内置用户
切换到数据库的内置账户
用system账户登录后 解锁scott内置用户
-------解锁 scott 用户---
alter user Scott account unlock;
-----重置密码-----
alter user scott identified 密码;
内置表
在内置的scott用户中有以下几张表
- dept 部门表
--deptno 部门编号
--dname 部门名称
--loc 部门城市
- emp 员工表
---empno 员工编号
--ename 员工姓名
--job 职位
---mgr 领导编号
---hiredate 入职时间
--sal 工资
---comm 年终奖
---deptno 部门编号
- salgrade 工资级别表
--grade 工资级别
--losal 最低范围
--hisal 最高范围
一些基本查询
去重复查询
selectdistinctjob from emp
四则运算查询
select e.sal*14 from emp e;
字段 字符串连接
select e.empno ||'^_^' || e.ename from emp e
条件查询
select *from emp e where e.empno=7369;
查询不为空的字段
select * from emp e where e.comm is not null;
---null 很特殊 null 跟谁运算 谁就变成null
select e.sal*14 + nvl(e.comm,0) from emp e;
查询条件为空 并且薪资不大于1500
select *from emp e where e.comm isnullandnot(e.sal>1500);
包含查询 between and 包含临界点
select *from emp e where e.sal between1500and3000
参数条件查询 等于多条件
select * from emp e where e.ename in('SMITH','MARTIN','SCOTT')
不等于
select *from emp e where e.empno<>7369;
select *from emp e where e.empno!=7369;
排序
select *from emp e orderby e.saldesc
---nulls first 排序时 把null 值排到第一位
select *from emp e orderby e.commnullsfirst;
模糊查询
select *from emp e where e.ename like'%M%';
--查询员工姓名中有_的员工
select *from emp e where e.ename like'%b_%'escape'b' ;
单行函数
查询字段多长
select e.ename,length(e.ename) from emp e;
把字段都变成小写
selectlower(e.ename)from emp e;
把字段都变成大写
selectupper(e.ename)from emp e;
连接两个字段
selectconcat(e.empno,e.ename)from emp e;
虚表,伪表
select lower('SDFG') from dual;
select trim(' aa a '),' aaa ' from dual;
数值函数
round 四舍五入
select round(33.1415926,4) from dual;
trunc 取整
selecttrunc(33.1415926,4)from dual;
mod 取余数
selectmod(4,3)from dual;
日期函数
获取当前的日期
select sysdate from dual;
获取明天的这个时候的日期
select sysdate+1 from dual;
获取下两个月这个时候
select add_months(sysdate,2) from dual;
查询入职时到现在的时间
select round(months_between(sysdate,e.hiredate)) from emp e;
转换函数
数字转换成字符串
select123 ,to_char(123)from dual;
字符串转化成数字
select '123',to_number('123') from dual;
日期转换成字符串
select to_char(sysdate,'yyyy-MM-dd hh:mi:ss')from dual;
字符串转换成日期
select to_date('2017-05-04 11:41:07','yyyy-MM-dd hh:mi:ss')from dual;
多行函数 (聚合函数)
count() 总数
sum() 和
max() 最大
min() 最小
avg() 平均
-- 练习
--基本查询
--*查询所有
select *from emp
--distinct去重复查询
selectdistinct empnofrom emp
--字段四则运算
select sal *14from emp
--where条件查询
select *from emp e where e.empno=7369
--between and包含查询包含临界点
select *from emp e where e.sal between1500and5000
--in多参数查询
select *from emp e where e.sal in (1500 ,5000)
-- order by排序
select *from emp e orderby e.commdesc
--排序把null值排在前边
select * from emp e orderby e.commdescnullsfirst
--排序把null值放在后边
select * from emp e orderby e.commdescnullslast
--模糊查询
select *from emp e where e.ename like'%M%'
--一些特殊的
--字段字符串连接
select e.ename||'^,^'||e.salfrom emp e
--查询字段不为空
select *from emp where comm isnotnull
--null和谁计算谁就空
select e.sal+nullfrom emp e
--nvl把null变成指定的
selectnvl(e.comm,0)from emp e
-- 聚合函数
--count总数
selectcount(*)from emp
--sum求和
selectsum(sal)from emp
--avg平均数
selectavg(sal)from emp
--max最大值
selectmax(sal)from emp
--min最小值
selectmin(sal)from emp
--单行函数
--length查询字段的长度
selectlength(e.ename)from emp e
--lower把字段都变成小写
selectlower(e.ename)from emp e
--upper把字段都变成大写
selectupper(e.ename)from emp e
--concat连接两个字段
selectconcat(e.ename,e.empno)from emp e
--虚表 dual
selecttrim('aa') ttfrom dual
--数值函数
--round四舍五入
selectround('123.123123')from dual
--trunc取整
selecttrunc(123.123123)from dual
--mod取余数
selectmod(3,1)from dual
--日期函数
--sysdate获得当前的日期
selectsysdatefrom dual
--sysdate+1获得明天这个时候的日期
selectsysdate+1from dual
--add_months(sysdate,2)获得后两个月这个时候的日期
select add_months(sysdate,2)from dual
--months_between(sysdate+30,sysdate)获取这个时间段间隔几个月
select months_between(sysdate,sysdate+111)from dual
--转换函数
--数字转换成字符串
select123,to_char(123)from dual
--字符串转换成数字
select'123',to_number('123')from dual
--日期转换成字符串
select to_char(sysdate ,'yyyy-MM-dd')from dual
--字符串转换成日期
select to_date('2017-05-04 11:41:07','yyyy-MM-dd hh:mi:ss')from dual
- Oracle_第一弹
- Oracle_第二弹
- Oracle_第三弹
- Oracle_第四弹
- ORACLE_语言
- Oracle_约束
- oracle_日期
- oracle_三角函数
- ORACLE_触发器
- ORACLE_数据处理
- oracle_视图
- Oracle_字典
- oracle_简介
- Oracle_函数
- oracle_事务
- Oracle_数据处理
- Oracle_序列
- Oracle_数组
- WEB相关文件的加载顺序
- LCM之Fmark功能 && LCD控制器同LCD驱动器的差别 && 帧率与刷新率的关系 && OLED背光
- android之壁纸机制
- Android View坐标系详解(getTop()、getX、getTranslationX...)
- 五分钟搞清楚MySQL事务隔离级别
- Oracle_第一弹
- kafka的java实例
- 编写Linux驱动程序三步骤
- python 之路,致那些年,我们依然没搞明白的编码
- Function类型(2)
- Oracle_第二弹
- BlueScope选择eXtremeDB数据库管理系统用于其轧板机控制系统
- json数据格式转换
- 数据库中char与varchar类型的区别