使用客户端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