欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle数据库的登陆、sqlplus的一些使用技巧以及Oracle中常用的知识讲解

程序员文章站 2023-08-31 21:37:53
一、oracle的登陆 (1)一般用户:使用oracle自带的sqlplus,cmd--sqlplus scott/密码; (2)管理员用户:cmd--sqlplus sys/密码 as sysdb...

一、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)注意:日期和字符串用单引号括起来,列的别名用双引号(或者不写)括起来