您的位置:首页 > 数据库 > Oracle

oracle数据库学习(一)

2016-02-14 00:09 495 查看
一、SQLPLUS的配置与认识

SQLPLUS是oracle的一个客户端,可以通过SQLPLUS程序进入,也可以通过DOS窗口敲击sqlplus进入客户端(然而两者并没有什么区别,大公司就是有脾气)。学习时,通过scott用户进入的口令建议设置为tiger。另外,sqlplusde的网页入口在11g这个版本已经没有了。当然,oracle自己也是另外配套了一个客户端,需另行下载,plsql developer,简单学习用dos里的sqlplus够用。

二、账号解锁

使用超级管理员登陆到sqlplus,例如

sqlplus sys/tiger as sysdba
之后
alter user scott account unlock;


即可解锁scott账号。

三、SELECT语句

1.sql语言有四种,最重要的是select语句。sqlplus内置了学习用表。

职员表

desc emp	//部门表
desc dept	//新水表等级
desc salgrade	//薪水表
desc dual	//空表


查询方法如下:

select * from salgrade;		//查询薪水等级
select * from dept;		//查询部门
select * from emp;		//查询职员
select * from dual;		//查询空表
select ename, sal*12 from emp;	//查询每个人的年薪
select ename, sal*12 anuual_sal from emp;	//查询年薪并给sal*12起别名,名称会被转化为大写
select ename, "annual sal" from emp;		//起别名并保持别名的形式,可以用双引号
select  2*3 from dual;				//计算纯数学表达式,显示6
select sysdate from dual; 			//查询系统时间
select ename, sal*12 + comm from emp;		//会发现一些结果无法显示,任何含null的计算式都是null
select ename||sal from emp;		//字符串连接符||
select 表示ename || 'dfae' from emp;	//字符串的表示是''
select ename || 'dase''deaf' from emp;	//如果字符串里有单引号,用两个单引号代替一个单引号
select distinct deptno from emp;	//关键字distinct消除重复值
select distinct deptno, job from emp;	//distinct修饰多个字段,表示消除重复的多字段


2、where
select * from emp where deptno = 10;//选出部门编号是10的数据,where关键字是过滤条件
select * from emp where ename = 'CLARK';	//选出名字是CLARK的职员
select ename, sal from emp where sal > 1500;	//选出薪水大于1500
select ename, sal from emp where sal <> 10;	//选出薪水不等于1500
select ename, sal from emp where sal between 800 and 1500;	//选出薪水位于800到1500
select ename, sal from emp where sal >= 800 and sal <= 1500;	//和上句等效
select ename, sal, comm from emp where comm is null;		//空值处理,选出津贴是空的
select ename, sal, comm from emp where comm is not null;	//空值处理,选出津贴不是空的
select ename, sal from emp where sal in(800, 1500, 2000);	//选出薪水等于括号内值
select ename, sal from emp where sal not in(800, 1500, 2000);	//选出薪水不等于括号内值
select ename, sal from emp where ename in ('SMITH', 'KING', 'ABC');	//选出名字等于括号内的
select ename, hiredate from emp where hiredate > '20-2月-81';	//按照特定格式选出雇用时间大于特定值
select ename sal from emp deptno = 10 or sal > 1000;	//或的用法
select ename from emp where ename like '%ALL%';		//通配符%表示零个或多个
select ename from emp where ename like '_A%';		//_代替一个字符
select ename from emp where ename like '%\%%';		//有百分号时可以用\作转义字符
select ename from emp where ename like '%$%%' escape '$';	//将$视为转义字符


3、order by
select * from dept order by deptno desc;	//descend降序排序
select * from dept order by deptno asc;		//ascend升序排列,asc默认,可写可不写
select empno, ename from emp where deptno > 10 order by empno;		//where和order by可一起使用
select ename, sal, deptno from emp order by deptno asc, ename desc;	/先按照deptno升序排列,内部再按照ename降序排列,按照多字段排列
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 sqlplus