日期:2014-05-16  浏览次数:20498 次

oracle学习笔记汇总

一,oracle表命名规则

a):必须以字母开头

b):长度不能超过30个字符

c):不用室友oracle保留字

d):只能使用A-Z a-z 0-9 $ #等字符

一.Oracle数据库中常用的数据类型

varchar2(长度)可变长字符串

char(长度) 定长

number()表示整数或者浮点数number(8) number(8,2)

clog 字符的大对象

blog 二进制的大对象

 

二.数据库查询

1)SELECT语句

从表中提取查询数据.语法为SELECT[DISTINCT] {column1,column2,…} FROM tablename WHERE {conditions} GROUP BY {conditions} ORDER BY{expressions} [ASC/DESC];

说明:SELECT子句用于指定检索数据库的中哪些列,FROM子句用于指定从哪一个表或视图中检索数据。

2)WHERE子句。

WHERE子句用来选择符合条件的的记录.

like '...' 通配查询 _,%

between ... and ... ,表示结果在这之间,between and是一个闭区间

!=,<>,^=,这三个都可以表示不等于。

in (va1,val2,...) 判断结果是否在这个集合中存在

like '...' 字符串通配查询,'%'表示0或多个字符,'_'表示一个字符。

... and ... 表示只有两个条件同时满足

... or ... 表示条件只要满足其中之一就可以

all ... 是要求都满足条件。

   例子:显示工资比部门20的所有员工的工资高的员工的姓名,工资,和部门号

          SQL>selectename,sal,dept from emp where sal > all (select sal from emp where

deptno = 20)

Any也表示满足其中一个

      例子:显示工资比部门20的任意一个的工资高的员工的姓名,工资,和部门号

          SQL>select ename,sal,dept from emp where sal > any (select salfrom emp where

not .....,则是可以与以上的条件产生反效果。

... is null 使用来判断值是不是空。

3) ORDER BY子句

ORDER BY 子句使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDER BY 子句指定的表达式的值确定。

ASC(默认,升序) DESC(降序)

order by 目标列名(别名)排序顺序(不写排序顺序,会默认为升序排序

例:selectfirst_name from s_emp order by first_name;

select first_name from s_emp order by first_name desc;

 

三.SQL常用的命令分类及例子

数据定义语言:create(创建)、alter(更改)和drop(删除)命令。

数据操纵语言:insert(插入)、select(选择)、delete(删除)和update(更新)命令。

事务控制语言:commit(提交)、savepoint(保存点)和rollback(回滚)命令

数据控制语言:grant(授予)和revoke(回收)。

1.数据定义语言举例:

SQL> create table myTab(no number(4),name varchar2(20));创建一个名为myTab的表,包含两列no和name;

SQL> alter table myTab modify(name varchar2(25));修改myTab中的name列,使此列能容纳25个字符;

SQL> alter table myTab add (tel_novarchar2(20));给表myTab增加一列tel_no;

SQL> alter table myTab drop columntel_no;删除表myTabtel_no;

SQL> drop table myTab;删除表myTab;

SQL> truncate table myTab;删除表myTab中的所有行(截断表),注意:不可以回滚,表结构还在,