Oracle-ocp-051

发布时间:2020-02-26 19:33:59 作者:回忆总想哭
来源:网络 阅读:249

查看Oracle用户可以使用那些表数据字典表(管理用户所有表)

desc user_tables;(查看可以操作的表)
select tables_name from user_tables;(SCOTT用户可以使用四个表)
字符类型都是左对齐,数字类型的都是右对齐
空值是不可用的、未分配的、未知的或不使用的值空值不同于零或空格

设置显示行间距

set linesize 200;宽度为200

set pagesize 50;每页现实50行
create table test(hiredate varchar(20));创建表

查看当前用户可以使用的表

select table_name from user_tables;

标题的默认设置

字符和日期列标题的对齐方式为:左对齐
数字列标题的对齐方式:右对齐
默认的标题显示方式:大写
空值不等同于零或者空格
空值带入四则运算仍然还是空值

定义别名

列别名具有以下特征
可重命名标题、有助于计算、紧跟在列名后(列名和别名之间也可以加上可选关键词AS)如果别名包括空格或特殊字符、或者区分大小写则需要双引号

链接字符串

select ename||job from emp;
把两个列名合并一块显示出来

重复行

select distinct deptno from emp;
distinct (去重)

只显示空值

select * from emp where mgr is null ;

逻辑判断

AND 如果两个条件都为真,则返回true(两个条件都为真时则返回值)
OR 如果其中一个条件为真。则返回true
NOT 如果条件为假则返回true

sqlplus 下清屏 clear screen

优先级规则

运算符 含义
加减乘除 算数运算符
管道符号 链接运算符
where 比较运算符
空值 IS 、[not]、 null、like、[not]、in
5 [not] DETWEEN(在什么什么之间、在什么什么之外)
!= 不等于
条件为假则返回true NOT 逻辑条件
AND 逻辑条件
OR 逻辑条件

使用ORDER BY 句子

使用order by 子句可以对检索进行排序
ASC:升序 (默认升序)从小到大
DESC:降序
order by 子句位于select 语句的最后

排序可以用别名或者数字
select ename,sal gz from emp order by 2;
结果就是工资为降序排列
也可按章多个列进行排序
select ename,sal,deptno from emp order by 3,2 desc;
已sal降序排列(从大到小)

关闭数据库和开启

shutdown normal (关闭)
startup mount (开启)

替代变量

使用单与号(&)及双(&&)(多次)可代替临时存储值where条件order by子句
列表达式、表名、整个select语句
缓存在内存中
指定列名、表达式和文本
变量字符类型要加单引号

使用DEFIN 命令

使用define命令可以创建变量并为其赋值
使用undefine 可以删除变量
先进行赋值
define abc=20
select * from emp where depton=&abc;(调用赋值的变量)
删除变量undefine abc=20
再出调用则搜懂输入

SQL 函数

单行函数(每一个返回一个结果)
多行函数(每一行集返回一个结果)
处理数据项、接受参数并返回一个值、对每个返回进行处理、为每个行返回一个结果、可能会修改数据类型、可以嵌套、接受参数、这些参数可以是列或表达式
单行函数
字符、数字、常规、日期、转换

字符函数

大小写转化函数
LOWER、UPPER、INITCAP、
字符处理函数
CONCAT、SUDSTR、LENGTH、
函数 结果
LOWER(‘SQL Course’) (sql course)全部小写
UPPER(‘SQL Course’) (SQL COURSE)全部大写
INITCAP('SQL Course') (Sql Course)首字母大写

dual 伪表(存在内存中的不存在数据库中)

字符处理

函数 结果
CONCAT(‘Hello','World’) HelloWorld(拼接在一块)支持两个字符串
SUDSTR ('HelloWorld',1,5) Hello(1到5)字符串截取
LENGTH ('HelloWorld') 10(字符串长度)
INSTR('HelloWorld','W') 6 (定位字符位置)
LPAD(salary,10,'*') **24000(左填充)
RPAD(salary,10,'*') 24000**(右填充)
REPLACE ('JACK and JUE','J','BL') BLACK and BLUE
TRIM('H'FROM 'HelloWorld') elloWorld(去除指定字符)

数字函数

ROUND:将值舍入到指定的小数位(-1精确的个位)
select round(45.923,2) from dual;
返回45.92
TRUNC:将值截断到指定的小数位
返回40
MOD:返回除法运算的余数
select mob(10,3) from dual;
返回1

处理日期

oracle DB 以内部数字格式存储日期:世纪、年、月、日、小时、分钟、秒
默认的日期格式DD(月2位字符)-MON(月1月到12月)-RR(两位的寄点法)世纪21世纪还是20世纪
通过仅指定年份的后两位可以在20世纪存储21世纪的日期、也可以在21世纪存储20世纪的日期

RR日期格式

当前年份 指定的日期 RR格式 YY格式
1995 27-OCT-95 1995 1995
1995 27-OCT-17 2017 1997
2001 27-OCT-17 2017 2017
2001 27-OCT-95 1995 2095

sysdate 是返回一下对象的函数:-日期-时间

日期处理函数

函数 结果
MONTHS_DETWEEN 两个日期之间的月数
ADD_MONTHS 将日历月添加到日期
NEXT_DAY 指定日期之后的下一个日期
LAST_DAY 当月最后一天
ROUND 舍入日期
TRUNC 截断日期
MONTHS_BETWEEN('01-sep-95','11-jan-94') 19.6774194
ADD_MONTHS('31-jan-96',1) 29-feb-96
NEXT_DAY('01-SEP-95',FRIDAY) 08-SEP-95
LAST_DAY('01-FEB-95') 28-FEB-95
ROUND(SYSDATE,'MONTH')(month月)假设sysdate='25-jul-03' 01-AUG-03(大于等于15则月份进一)
ROUND(SYSDATE,'YEAR')(year年) 01-JAN-04(年份进行进一(月)大于等于6则年份进一月份大于等)
TRUNC(SYSDATE,'MONTH') 01-JUL-03
TRUNC(SYSDATE,'YEAR') 01-JAN-03

转换函数和条件表达式

必须放在单引号内
区分大小写
可以包含任何有效的日期格式元素
具有一个fm元素、用于删除填充的空格或隐藏前导零
与日期值之间用逗号分隔
元素 结果
YYYY 用数字表示的完整年份
YEAR 用英文表示的年份
MM 月份的俩位数值
MONTH 月份的完整名称
MON 月份的三位字母缩写
DY 一周中某日的三个字母缩写
DAY 一周中某日的完整名称
DD 用数字表示的月份中某日
9 代表一个数字
0 强制显示0
$ 放置一个浮动的美元符号
L 使用浮动的本地货币符号
. 显示小数点
显示作为千位指示的逗号

嵌套函数

常规函数、且合适使用空值的场合
将空值转换为实际值、可以使用的数据类型为日期、字符和数字、数据类型必须匹配:
NVL(expr1,exrp2)
NVL2(EXPR1,EXRP2,EXRP3)
NULLIF(expr1,expr2)

组函数报告聚集数据

AVG 计算平均值
count 一个字段有多少行
max 最大值
min 最小值
sum 一个字段的和
count 显示行数
distinct 去除重复行

创建数据组

group by 分组
select deptno,avg(sal) from emp group by deptno;
分组求平均数
natural join 子句以两个表中具有相同名称的所有列为基础

它从两个表中选择在所有匹列中具有相同值得哪些行
如果名称相同的列具有不同的数据类型,则返回一个错误
运算符 含义
= 等于
> 大于
>= 大于等于
< 小于
<= 小于等于
<> 不等于
数据操纵语句

DML语句

增删改查

DDL语句

数据库事务处理由于以下语句组成
用于对数据进行一次一致更改的DML语句
一条DDL语句一条数据控制语句(DCL)语句

在执行第一条DML SQL 语句时开始
在发生下列事件之一时结束:
发出COMMIT或ROLLDACK语句
执行DDL或DCL语句(自动提交)
用户推出SAQL Developer或SQL*Plus 系统崩溃
使用commit和rolldack提交、回滚
确保数据的一致性

数据库事务处理

使用savepoint (a) 语句可在当前事务处理中创建一个标记
使用rollback to savepoint 语句可以回退到该标记
先还原B 在还原A
如先还原A则B也消失

执行COMMIT之后的数据状态

数据更改已保存在数据库中
已改写以前的数据状态
搜游用户都可以查询看的结果
受影响行上的锁已被释放、其他用户可以进行处理
搜游保存都被清除

执行ROLLBACK操作之后的数据状态

数据已还原到以前状态
受影响行上的锁一杯释放
delete from copy_emp;
rollback;
推荐阅读:
  1. CentOS7.8怎么安装mysql 8.0.20
  2. mysql迁移至8.0时应该注意什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle 051 51 051

上一篇:学习云计算前景如何?2020年Linux运维职业选择有哪些?

下一篇:【Unity3D】存档文件加密代码

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》