oracle学习

使用客户端sqlplus工具进入与退出orcl数据库
        ------以超级管管理员角色进入        
        c:/>sqlplus / as sysdba                    
        sql>exit
        ------以普通用户进入
        c:/>sqlplus scott/tiger
        sql>exit    
        声明:我们以普通用户的身份进入


 以sys超级用户名,dba角色,即超级管理员身份解锁scott方案/用户,并为scott设置一个密码为tiger
    解锁用户:alter user scott/hr account unlock;
    设置密码:alter user scott/hr identified by tiger/lion;
        普通用户scott
        密码tiger

使用password命令,为scott用户名修改新密码,以字母开头,但提倡使用tiger
password
旧口令:tiger
新口令:abc123
再次输入新口令:abc123

退出sqlplus工具
exit

设置显示的列宽(字符型varchar2、日期型date),10个宽度位,a表示字符型,大小写均可
column ename format a12;
column hiredate format a10;

设置显示的列宽(数值型number),9表示数字型,一个9表示一个数字位,四个9表示四个数字位,只能用9
column empno format 9999;
column mgr format 9999;
column sal format 9999;
column comm format 9999;
column deptno format 9999;

设置一页显示80个条记录的高度
set pagesize 80;

使用/杠,执行最近一次的SQL语句
/

清屏 host cls;

询当前用户是谁         
show user;

查询emp表的结构
desc emp;

查询emp表的所有内容,*号表示通配符,表示该表中的所有字段,但*号不能和具体字段一起使用
select * from emp;

select empno,ename,sal,deptno from emp;

查询emp表的员工编号,姓名,工资,部门号,列名,大小写不敏感,但提倡大写
select empno "编号",ename "姓名",sal "工资",deptNO "部门号" FROM Emp;

查询emp表的不重复的工作
select distinct job from emp;

查询员工的编号,姓名,月薪,年薪(月薪*12)
select empno,ename,sal,sal*12 "年薪" from emp;

查询员工的编号,姓名,入职时间,月薪,年薪,年收入(年薪+奖金)
select empno "编号",ename"姓名",hiredate "入职时间",sal "月薪",sal*12 "年薪",sal*12+comm "年收入" from emp;
如果结果为null,在sqlplus客户端工具中,是不显示null这个值的

解决null的问题,使用NVL()函数,NVL(a,b):如果a是NULL,用b替代;如果a是非NULL,就不用b替代,直接返回a的值
select NVL(null,10) from emp;结果有14行记录
select NVL(null,10) from dual;结果有1行记录
select empno "编号",ename"姓名",hiredate "入职时间",sal "月薪",sal*12 "年薪",sal*12+NVL(comm,0) "年收入"
from emp;
注意:null与具体数字运算时,结果为null

原文地址:https://www.cnblogs.com/hello-liyb/p/8591805.html