Oracle学习,比较杂,不断更新中...

来源:互联网 发布:怎样注册阿里云邮箱 编辑:程序博客网 时间:2024/05/29 17:33

一.Oracle数据库相关

1.解除用户锁定(以Scott为例)

    使用超级管理员登录到数据库上:sqlplus sys/bjsxt as sysdba, 当成DBA登录到服务器上连上之后更改user alter user scott account unlock; 更改用户 解除锁定

2.table structure

    a.描述一张表:desc tablename;

    b.select * form tablename

3.得到数据库的SID

SQL>select instance_name from v$instance;

二.SQL语句部分

1.设置显示格式:每行显示的宽度set linesize 200;显示的页数 set pagesize 30;

2.取得系统当前时间:Select sysdate from Tablename

3.消除重复值(distinct):distinct修饰多个字段的时候,指的是消除后面所有字段的组合重复结果

     Select distinct job, deptno from emp;--jobdeptno都相同的删除重复

4.模糊查询:

    使用like关键字,和通配符 % 表示0个或多个字符,_ 表示1个字符

例子1:查询名字中含有ALL的人员

    Select ename from emp where ename like '%ALL%';

例子2:查询第二字母中含有 A 的雇员

    Select ename from emp where ename like '_A%';

例子3:查询名字中含有 % 等通配符的数据时,使用转义字符 /

Escape 自定义转移字符, 系统默认的转义字符是 ‘/’

    Select ename from emp where ename like '%/%%' escape '/';

5.计算数据

    计算数据可以用空表,select 2*3 from dual;

                                      select chr(65) from dual 结果为:A
                                       select ascii('a') from dual 结果为:65
                                      select round(23.652,1) from dual; 结果为: 23.7
                                       select round(23.652,-1) from dual; 20

6.防止空值

   把空值改为0,select ename,sal*12+nvl(comm,0) from emp; 这样可以防止comm为空时,sal*12相加也为空的情况.