一、oracle的登陆
(1)一般用户:使用oracle自带的sqlplus,cmd--sqlplus scott/密码;
(2)管理员用户:cmd--sqlplus sys/密码 as sysdba
注意:客户端登陆的方法略
二、sqlplus的一些使用技巧
(1)host cls 清屏---屏幕信息太多
(2)spool d:\笔记.txt--可以用来保存在sqlplus中的的屏幕信息(包含自己的操作)
(3)spool off ---结束控制台的录制
注意:每次文件不能重名,否则会覆盖
(4)show user---显示当前用户
补充:在oracle中表属于某个用户,用户属于数据库 ;
(5)elect * from tab---显示当前用户下的所有的表名称
注意:不是table而是tab
需求1:查出来后表的显示格式不太好看 ,想调整
-- 设置行宽 show linesize; --先显示下行宽 -- 设置行宽 set linesize 150 --设置行宽为150个字符 -- 设置列宽 col ename format a8 -- 说明:表示设置ename这个字段的宽度为8个字符,a表示一个字符 -- 设置列宽 col sal format 9999 -- 说明:表示设置工资这个字段的宽度为4位,因为工资是数字所以用9表示一位数字
需求2:修改语句中的错误单词
select ename,sal form emp; -- 这里的from 敲错了 --(1)执行后出现的错误 --第 1 行出现错误: --ora-00923: 未找到要求的 from 关键字 --(2)修改错误 2 -- 输入出现错误的行号 c /form/from -- c就是change的意思(改变sql语句的错误部分) / --再次执行
需求3:计算员工当月的收入
-- null的问题, null参与运算结果都为null select ename,sal,comm,sal+comm as 当月总收入 from emp;
说明:收入=基本工资+奖金
注意:null参与运算结果都为null
分析:上面结果有误--如果奖金comm是null值得话,和工资相加就变为null了,我们想要如果奖金为null就认为它是0
解决办法:用 nvl(comm,0) 来解决null值问题
select ename,sal,comm,sal+nvl(comm,0) as 当月总收入 from emp;
特点:是null的话就默认为0,否则还是其本身
需求4:修改sql语句
-- (1)ed 命令 将上一条sql 语句 自动粘贴到文本文件中,供我们进行再次编辑修改,然后保存 -- (2)/执行此语句
需求5:去除重复记录(distinct)
select distinct deptno from emp; select distinct job,deptno from emp; -- 两个列组合起来看是没有重复得(好好体会)
说明:distinct作用于后面所有得列
------------------------------
三、oracle中常用的知识
(1)伪表 dual
特点:像一张虚拟得表,它的存在只是为了sql语句语法完整。
select 3+2;--会报错 select 3+2 from dual;--成功执行
说明:select 3+2虽然跟表没关系,但是在orcal中select语句后面必须要有from某张表,不写语法就报错,用伪表来代替一张表。
(2)注意:日期和字符串用单引号括起来,列的别名用双引号(或者不写)括起来
如对本文有疑问, 点击进行留言回复!!
Oracle 基本概念 Dadabase,schema,user,table...
dbeaver连接Oracle中文乱码的解决方案--druid
Oracle常用语句(时间格式、去重、去特殊符号、查询表空间等)
Navicate 如何导出数据库中的存储过程、事件、视图等?
每日一记:Oracle升级2020年4月份的数据库补丁Database Patch Set Update : 11.2.0.4.200414 (30670774)
Oracle 19.3 dataguard for Redhat 7.6
网友评论