码迷,mamicode.com
首页 > 数据库 > 详细

oracle 学习笔记(一)

时间:2015-08-14 22:48:30      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:oracle

1.oracle的登录与注销

进入cmd命令行:

登录普通用户-->

1)sqlplus scott/169500 注:scott是用户名(这是oracle自带的用户) 169500是密码

2)sqlplus 回撤 

输入用户名: scott 

输入密码: 169500

3)sqlplus scott 

输入密码: 169500

登录管理员(拥有所有的权限)

进入cmd命令行:

sqlplus as / sysdba 回撤

退出:exit 或者按Ctrl+c

2.更改用户的密码

登录管理员模式-->

解锁用户:

alter user 用户名 account unlock;

锁定用户:

alter user 用户名 account lock;

修改密码:

alter user 用户名 identified by 新密码;

修改管理员密码:

alter user sysidentified by 新密码;

3.查看当前用户的所有表

select * from tab;

4.查询emp表中的数据

select * from emp;

select 指定的列名 from emp;

5.更改linesize 和pagesize

select * from emp;-->表的结构很不明显 因此为了看得方便,我们可以更改:

linesize:命令行中的宽度 

pagesize:设置每页显示的条数

show linesize;show pagesize;-->可以查看系统默认的设置

修改-->set linesize 100; set pagesize 20; 修改宽度为100 修改每页显示的条数为20

但是这样更改只是在当前会话范围有效 当关闭或者退出的时候再次查询又变为系统默认,因此为了方便可以设置永久性的修改

找到oracle的安装目录:E:\app\Administrator\product\11.2.0\dbhome_1\sqlplus\admin\slogin.sql 增加

set linesize 100; set pagesize 20;即可

6.控制null和对null的处理

select comm from emp;-->可以看到 有的行上没有奖金默认是null 我们可以修改其为0

select nvl(comm,0)from emp;-->nvl(列名,值)如果列名为null 就修改为对应的值

7.更改显示的别名

select ename name form emp;-->显示的时候列名为name

select ename as "Li Wei Kang" from emp;-->如果别名有特殊字符必须使用双引号 注:as 关键字可以省略

8.使用连接符 ||

select ename || ‘的薪水是‘ || sal from emp;

查询结果为:

技术分享

9.去掉重复的行

-- 作用于一列
 select distinct job from emp;
-- 作用于多个列,所有列的值加一起重复才算重复的记录
SQL> select distinct job, deptno from emp;

10.虚表dual

如果只查询一个表达式,没有用到任何表的数据,这时也必须得写from...

select 3+2 from dual;

select ‘hello‘ || ‘world‘ from dual;也可以使用oracle提供的函数concat(‘‘,‘‘) select concat(‘hello‘,‘world‘) from dual;

11.like between in

1)like关键字 模糊查询条件:在使用like时,可以使用 % 与 _,分别表示任意数量的任意字符或任意一个字符。

select * from emp where ename like ‘%TH‘

要想表达%或_本身,需要使用转义符,例: select * from emp where ename like ‘KI\%%‘ escape ‘\‘;

2)between

BETWEEN
包含两个边界。
一定是小值写到前面,大值写到后面,否则没有结果。

3)in关键字

如果in(...) 括号里可以为null

例:查询所有是经理的员工
select * from emp where empno in (select mgr from emp);

如果not in(...) 括号里如果有null 查询结果没有结果

例:查询所有不是经理的员工
select * from emp where empno not in (select mgr from emp where mgr is not null);这里一定要写where mgr is not null-->否则没有结果记录!!


版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle 学习笔记(一)

标签:oracle

原文地址:http://blog.csdn.net/u014010769/article/details/47667833

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!