我的计算机上oracle的。
服务器名:wang
用户名:scott
密码:123456 (tiger较多)
在cmd上打开oracle客户端的命令:sqlplus
在浏览器上打开oracle的ip地址:
本机ip:127.0.0.1)(5560是oracle的默认端口号)
以管理员身份登录 : sqlplus sys/123456 as sysdba
管理员身份登陆后可更改(解锁)用户:
alter user scott account unlock;(注意有分号)
sql语言(结构化查询语言(structured query language)):
1、查询语句:select语句。
2、dml(数据操作语句)语句:
3、ddl(数据定义语句)语句:
4、事物控制语句:
注:0不同于空值,任何含有空值的运算表达式其结果为空值)
清屏指令:host cls
1、select语句:(注:语句后要有分号)
1)熟悉oracle数据库scott用户自带的表。
(1)desc emp(雇员)
注:empno雇员编号 ename雇员姓名 job雇员工作 mgr雇员的经理人 hiredate入职时间 sal工资 comm津贴 deptno所属部门编号)
注:number(7,2)代表7位数2位为小数)
(2)desc dept(部门表)
注:depyno部门编号 dname部门名称 loc部门地址)
(3)desc salgrade(薪水等级)
(4)desc dual(空表)(oracle自带空表)
2)select 列名/运算函数/别名 from 表名;
从这张表中取出代表所有例: select * from xx)
例:select * from salgrade;
3)select enamel,sal*2 from emp;
不同列名用逗号分开;(注:此时*代表乘法)
4)select 3*2 from dept;
select后可以直接是运算语句。
此时会有重复,用select 3*2 from dual;(灵活运用空表)
5)select 关键字 from 表名;
select后可跟关键字如:select sysdate from dual;(系统时间)
6)select enamel,sal*12 “anuuna sal”from emp;
为sal*12 取别名 (sal*12与别名中间没有逗号,用空格分离)加上双引号则保存双引号中的形式,不加双引号则不保存格式但是不能有特殊字符(如,空格等)。
select enamel,sal*12 anuuna_sal from emp;
列名自动换为大写)(注意此时anuuna_sal中间不能有空格)
7)select enamel||sal from emp;
|为字符串连接符(相当于j**a中的+号)
select enamel||’xxxxx’ from emp;
与字符串连接用单引号;字符串中有单引号用两个单引号代替单引号(注意不是一个双引号);
8)select distinct deptno,job from emp;
distinct关键字,消除其后面组合(deptno,job)中重复的内容。
9)select * from emp where deptno=10 ;
where关键字,筛选条件的语句。
where后面可以是等式也可以是不等式大于小于不等于。
不等于用<>表示)
把deptno等于10的显示出来)
select * from emp where ename=’clark’;
字符串要加单引号,单引号内要注意大小写)
select * from emp where sal between 800 and 1500;
between,,and,,关键字,在两者之间(包括两者)
相当于where sal >=800 and sal <=1500;
and关键字,连接条件;
10)空值的处理。
select ename,sal,comm from emp where comm is null;
comm是空值的取出来。
comm不是空值的取出来:
select ename,sal,comm from emp where comm is not null;
11)in语句。
select ename,sal,comm from emp where sal in(800,1500,2000);
sal是800的或1500的或2000的取出来。
12)日期的处理。
select ename,sal,hiredate from emp where hiredate >‘20-2月-81’;(入职时间在81年2月20日之后)单引号把日期的特有格式引起来。
13)and,or,not
and:连接条件;or:或者;not取反。
例:select ename,sal,comm from emp where sal not in(800,1500,2000);
14)模糊查询 like
select ename from emp where ename like ‘%all%’;
在ename中只要有all就取出来(%代表任意多个),;
select ename from emp where ename like ‘_a%’;
_’下划线代表一个字母,把a之前有一个字母的ename取出来;
select ename from emp where ename like ‘%
反斜杠代表默认转义字符,把包含%的ename取出来;
select ename from emp where ename like ‘%escape &;
escape代表制定转义字符;
15)order by 排序。
select * from dept order by deptno desc;
desc降序排序(默认是asc升序);
select * from dept where deptno <>10 order by deptno desc;
先筛选在排序。
select ename,sal,deptno from emp order by deptno asc,sal asc; deptno先排序,有相等的情况下在sal排序;
16)sql function 函数单行函数。
select lower(ename) from emp;将ename转换成小写取出;
select substr(ename,2, 3) from emp;从第二个字符开始截取3个字符;
select chr(65) from dual;将数字转换成对应的字符。
select ascii(‘a’) from dual;将字符转换成对应的数字;
select round(25.66) from dual;四舍五入。
select round(25.66666, 2) from dual;四舍五入到小数点后2位;还可以是负数,如-2,四舍五入到十位;
select to_char(sal ,‘99,999.9999’) from emp;
将sal转换成特定格式输出;
select to_char(sal ,‘l99,999.9999’) from emp;
l:本地货币,select to_char(sal ,‘l00000.0000’) from emp;
重要:select to_char(hiredate ,‘yyyy-mm-dd hh:mi:
ss’) from emp;把时间按指定格式输出;(hh是12进制时间,hh24是24进制时间)
select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’) from emp;
select ename, hiredate from emp where hiredate>to_date(‘1981—2-20 12:34:56’ ,yyyy-mm-dd hh24:
mi:ss’)
to_date()函数,把字符串转换成日期格式。
select ename, sal from emp where sal>to_number(‘¥1,250.00’,‘9,999.99’);
to_number()函数把字符串按指定格式转换成数字;
select ename, sal*12+nvl(comm,0) from emp;
nvl()函数,comm若为null 则当成0看,若不为null,则用cumm自己的值(注:0不同于空值,任何含有空值的运算表达式其结果为空值);
select ename, sal*12+ comm from emp;(没用nvl函数)
17)sql function 函数多行函数。
好多条数据组合成一条输出;
select max(sal) from emp;
select min(sal) from emp;
select **g(sal) from emp;
select to_char(**g(sal),‘999999.99’) from emp;
select round(**g(sal),4) from emp;
select sum(sal) from emp;
select count(*)from emp;这张表里共有多少条信息。
count() 函数,凡是不是空值的字段有多少。
select count(comm) from emp;
select count(deptno) from emp;
select count(distinct deptno) fromemp;共有多少部门编号。
18)group _by语句。
求每个部门的平均薪水:
select **g(sal) from emp group by deptno;
select deptno, **g(sal) from emp group by deptno;
select deptno, job, max(sal) from emp group by deptno, job;
ORACLE学习笔记
rac real application clusters 真实应用集群。ohs oracle http server sga system global area 系统全局区,是系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。实例 存取和控制数据数...
Oracle学习笔记
参数文件 记录了控制文件的位置,控制文件是一个非常小的二进制文件,最大。可以增长到 64mb,控制文件包括如下主要信息 数据库的名字,检查点信息,数据库创建的时间戳 所有的数据文件,联机日志文件,归档日志文件信息 备份信息等 有了这些信息,oracle 就知道那些文件是数据文件,现在的重做日志文件是...
ORACLE学习笔记
目录。oracla管理 1 1.登录sqlplus 1 1.1.sysdba 身份登陆 1 1.2.普通用户登陆sqlplus 1 2.常用命令 1 3.格式化提示符 2 4.查看系统状态 2 4.1.查看实例状态 2 4.2.查看表 2 5.关闭 启动 2 6.创建表空间 3 7.用户和权限 3 ...