oracle学习笔记

原创 2013年12月04日 09:54:55

字符类型
varchar2 2000字符
number 数值型
long 变长字符数据,最长为2G
date 日期型
raw 二进制数据,最长为255
long raw 变长二进制,最长为2G字节
rowid 二六进制串,表示唯一的地址
char 定长字符数据,最长为255

在创建好了oracle数据库之后,系统会有默认的用户scott下的一些表,我们可以使用这些表来自己联系。
scott.emp----员工信息表
scott.dept----部门信息表
scott.bonus----津贴信息表
scott.salgrade----销售等级表

 

使用sql命令:
1、确定表的结构
SQL->desc scott.dept;
备注:
1)在使用Oracle命令的时候,语句结尾后面要添加分号——;,否则查询不出结果
2)要指明该表是由谁创建的,否则会提示该表不存在

2、查询某一列
SQL->select dname from scott.dept;


3、更改日期的格式
检索日期列与检索其他列没有任何区别。注意,日期数据的默认显示格式为“DD-MON-YY",如果希望使用其他显示格式(YYYY-MM-DD),那么必须使用TO_CHAR函数进行转换。
select TO_CHAR(hiredate,'DD-MM-YYYY') from scott.emp;


4、取消所有重复的内容
复的显示结果,完成这项任务可以使用DISTINCT关键字。
示例1:显示所有部门号及岗位(保留重复行)
SQL>SELECT deptno,job FORM scott.emp;
示例2:显示所有部门号及岗位(取消重复行)
SQL>SELECT DISTINCT deptno,job FORM scott.emp;


5、使用算术表达式查询结果
SQL->select ename,sal*12 from scott.emp;


6、使用别名
SQL->select ename as "姓名",sal * 12 as "年收入" from scott.emp;


7、连接字符串
为了显示更有意义的查询结果,有时需要将多个字符串连接起来,连接字符串是使用“||”操作符来完成的,当连接字符串时,如果在字符串要加入数字值,那么在“||”后可以直接指定数字,如果在字符串加入字符和日期值,则必须要用单引号引住,下面以连接雇员入其岗位为例,说明连接字符串的方
SQL->SELECT ename ||'is a'|| job AS "Employee Detail" FROM scott.emp;


8、两张表联合查询
SQL->select scott.emp.empno,scott.dept.loc from scott.dept,scott.emp where scott.emp.deptno = scott.dept.deptno;
SQL->select scott.e.empno,scott.d.loc from scott.dept d,scott.emp e where scott.e.deptno = scott.d.deptno;


9、在WHERE条件中使用日期值
SQL->select * from scott.emp where hiredate>TO_DATE('1987-01-01','yyyy-mm-dd');


10、在WHERE条件中使用BETWEEN..AND操作符
 select * from scott.emp where sal between 1000 and 2000;


11、使用模糊条件查询
LIKE操作符用于执行模糊查询,当执行查询操作时,如果不能完全确定某些 
信息的查询条件,但这些信息又具有某些特征,那么可以使用模糊查询,当执行模糊查询时,需要使用通配符“%”和“_”,其中“%”用于表示0个或多个字符,而“_”用于表示单个字符
显示首字符为S的所有雇员名及其工资
SQL>SELECT ename,sal FROM emp WHERE ename LIKE'S%'
显示第三个字符为大写A的所有雇员名及其工资
SQL>SELECT ename,sal FROM emp WHERE ename LIKE '_ _A%';


12、在WHERE条件中使用IN操作符
IN操作符用于执行列表核匹配操作,当列或表达式结果匹配于列表中的任一个值时,条件子句返回TRUE,下面以显示工资为800和1250的雇员信息为例,说明IN操作符的方法
SQL>SELECT ename,sal FROM scott.emp WHERE sal IN(800,1250);


13、在WHERE条件中使用逻辑操作符(AND、OR、NOT)
显示在部门20中岗位CLERK的所有雇员信息
SQL>SELECT ename,sal,job,deptno FROM scott.emp WHERE deptno=20 AND job='CLERK';
显示工资高于2500或岗位为MANAGER的所有雇员信息
SQL>SELECT ename,sal,job,deptno FROM scott.emp WHERE sal>2500 OR job='MANAGER';
显示补助非空的雇员信息
SQL>SELECT ename,sal,comm FROM emp WHERE comm IS NOT NULL;


14、使用ORDER BY子句
示例一:升序排序
SQL>SELECT ename,sal FROM scott.emp WHERE deptno=30 ORDER BY sal ASC;
示例二:降序排序
SQl>SELECT ename,sal,comm FROM scott.emp WHERE deptno=30 ORDER BY sal DESC;
示例三:使用多列排序
当使用ORDER BY子句排序时,不仅可以基于单个列或单个表达式进行排序,也可以基于多个列或多个表达式进行排序。当以多个列或多个表达式进行排序时,首先按照第一个列或表达式进行排序,当第一个列或表达式存在相同的数据时,然后以第二个列或表达式进行排序,下面以工资升序、补助降序显示雇员信息为例,说明使用多列排序的方法
SQL>SELECT ename,sal,comm FROM scott.emp WHERE deptno=30 ORDER BY sal ASC,comm DESC;
示例四:列别名排序
如果在WHERE子句中为列或表达式定义了别名,那么当执行排序操作时,既可以使用列或表达式进行排序,也可以使用列别名进行排序。下面以降序显示雇员全年工资为例,说明使用列别名进行排序的方法
SQL>SELECT ename,sal*12 AS "全年工资"FROM scott.emp WHERE deptno=30 ORDER BY "全年工资" DESC;


15、单行子查询
SQL>SELECT ename,dal,deptno FROM scott.emp WHERE deptno=(SELECT deptno FROM emp WHERE Ename=’SCOTT’;


16、多行子查询
SQL>SELECT ename,job,sal,deptno FROM scott.emp WHERE job IN (SELECT distinct job FROM emp WHERE deptno=10);
SQL>SELECT ename,sal,deptno FROM scott.emp WHERE sal>ALL(SELECT sal FROM emp WHERE Deptno=30);
SQL>SELECT ename,sal,deptno FROM scott.emp WHERE sal>ANY (SELECT sal FROM emp WHERE Deptno=30);


17合并子查询
1.UNION
  UNION用于获取两个结果集的并集
  SQL>SELECT ename,sal,job FROM emp WHERE sal>2500
      UNION
      SELECT ename,sal,job FROM emp WHERE job=’MANAGER’;
2.UNION ALL
  UNION ALL用于获取两个结果集的并集
  SQL>SELECT ename,sal,job FROM emp WHERE sal>2500
      UNION ALL
      SELECT ename ,sal,job,FROM emp WHERE job=’MANAGER”;
3.INTERSECT
  INTERSECT用于获取两个结果集的交集
  SQL>SELECT ename,sal,job FROM emp WHERE sal>2500
      INTERSECT
   SELECT ename,sal,job FROM emp WHERE job=’MANAGER’;
4.MINUS
MINUS操作符用于获取两个结果集的变量的差集
SQL>SELECT ename ,sal,job FROM emp WHERE job=’MANAGER’;

 

 


清屏的命令——clear;
查看登陆的用户名——show user;
Quit、exit:命令模式推出
切换用户的命令—— conn username/password;
修改密码——password username;然后再输入密码

创建用户——create user huangbiao identified by sysdba;

在创建完数据库之后,如果是以sys角色登陆,那么他的登录名称应该是system,密码就是你在配置的时候设定的

 

oracle 学习笔记

  • 2017年10月31日 14:17
  • 2.77MB
  • 下载

oracle学习笔记

  • 2015年10月07日 16:41
  • 133KB
  • 下载

11.zabbix学习笔记:zabbix监控oracle

zabbix监控oracle可监控项使用zabbix监控oracle数据库需要借助第三方的插件,目前使用较多的是orabbix。目前维护到了1.2.3版本。关于oracle自带的监控项目有以下几个: ...

精通oracle 10g plsql 编程-学习笔记

  • 2017年07月07日 09:53
  • 341KB
  • 下载

Oracle学习笔记大全

  • 2017年08月10日 22:12
  • 264KB
  • 下载

【Oracle学习笔记】单行函数

写在前面: 单行函数的概念:单行函数:接受一下数据,输出一个数据; 多行函数:聚合函数,分组函数。接受一组数据,输出一个数据。常见字符函数大小写相关: LOWER , UPPER , INITCAP...

oracle学习笔记

  • 2011年07月06日 10:16
  • 17KB
  • 下载

oracle学习笔记

  • 2011年08月09日 19:43
  • 134B
  • 下载

oracle学习笔记 buffer_cache大小的设置及依据

oracle学习笔记  buffer_cache大小的设置及依据 一)先回顾一下 前面讲的buffercache的工作过程和大体的结构原理 磁盘有一堆dbf文件 内存有buffercache 第一步...

ORACLE_PlSql-甲骨文学习笔记

  • 2011年12月09日 12:18
  • 287KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)