一、Oracle一般操作
Oracle中主要有四种语句:dql数据查询语句(select语句(最重要!!!))、dml(数据操作语句)语句、ddl(数据定义语句)、事务控制语句
A:oracle10G客户端
1. 命令行客户端:Sql Plus(客户端),命令行直接输入:sqlplus,然后按提示输入用户名(scott),密码(tiger)。
2.
图形版的客户端:从开始程序运行:sqlplus,是图形版的sqlplus.
3. 网页版的客户端:http://localhost:5560/isqlplus(用于远程执行sql语句,localhost可以改为远程主机)
4、第三方工具: Toad:管理, PlSql Developer:
B、更改Oracle用户步骤
1.
在oracle客户端输入:sqlplus sys/密码 as
sysdba
2.
alter user scott account
unlock;(解锁账号)
C、Oracle10g表结构:table
structure
(系统自带的表有emp、salgrade、dept、bonus、dual(空表))
1. 描述某一张表:desc
表名
2. select * from 表名
二、Oracle查询语句(select语句)详解
1.计算数据可以用系统自带的空表(空表仅有一个字段、一条记录):比如:.select 2*3 from dual (所以使用空表查询出来的永远只有一条数据)
2.给sal*12起别名:
select ename,sal*12 annual_sal from
emp;与select ename,sal*12
"annual sal" from emp;
注意:如果别名中含有特殊字段(空格、中文等)时,别名要加双引号,
区别:加双引号保持原大小写,不加全变大写。
3、查询系统当前时间:select sysdate from
dual
4. select ename ||
‘abcd’
|| 用来连接两个字符串;其中字符串是用单引号包起来
注意:如果连接字符串中含有单引号,用两个单引号代替一个单引号。
select ename || 'ab''cd'
5、任何含有空值字段的数据进行数学表达式计算,结果都是空值:eg
Select ename ,sal*12+comm from
emp (如果津贴comm为空,计算出来的记录的结果是空值)
6、distinct
(去除重复的记录)
select deptno from
emp;
select distinct deptno from emp;
select distinct deptno ,job from
emp
去掉deptno,job两者组合的重复。更多的项,就是这么多项的组合的不重复组合。
7:Where
(条件筛选)
select * from emp where deptno
=10;
select *
from emp where deptno
<>10;不等于10
select *
from emp where ename
='bike';
select
ename,sal from emp where sal between 800 and 1500
(>=800 and <=1500)
日期简单处理:
Select ename , sal, hiredate from emp
where hiredate > '
20-2月-81' (查询81年以后的员工信息)
其中日期一定要按照orale规定的格式来写,以后可以使用任意格式
进行处理:
select ename,sal,comm from emp where comm is (not)
null;
select
ename,sal,comm from emp where ename ( not)in
('smith','king','abc');
select
ename,sal from emp where sal
not in (800, 1500);
取出不是800和1500的记录
使用and 或者or拼接多条件查询:
Eg:select ename,sal from
emp where deptno = 10 and (or) sal
>1000;
模糊查询 like :
%代表任意数量的任意字符
_代表一个任意字符
select ename from emp where ename (not
like)like '_A%';
1、如果要查询含有%的,要用转义字符
eg:
Select ename from emp where ename like
'%\%%' ;
2、转义字符可以自定义:
escape
'自定义的转义字符'
比如:
eg、select ename from emp where ename like
'%$a%%' escape '$';
排序:order
by
select *
from dept;
默认按升序(asc)排列,要按降序(desc)用如下语句:
select * from dept order by deptno
desc;
Select * from emp where deptno
<> 10 order by empno
desc;(条件筛选后在排序)
select ename,sal,deptno from emp order by
deptno asc,ename desc;
(多条件排序)
<!-- 正文结束 -->
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21376099/viewspace-1116889/
,如需转载,请注明出处,否则将追究法律责任。