Oracle lesson 2
SQL
查询和
SQL
函数(上)
Made by Zhangxu 2008.2.20
SQL
支持下列类别的命令
数据定义语言主要是指创建,修改,删除等操作
用于操纵表结构的数据定义语言命令有:
CREATE TABLE
ALTER TABLE
TRUNCATE TABLE
DROP TABLE
如图所示:

数据操作语言一般主要是指增加,删除,修改,查询等相关操作
!
数据操纵语言用于检索、插入和修改数据
数据操纵语言是最常见的
SQL
命令
数据操纵语言命令包括:
SELECT
INSERT
UPDATE
DELETE
如图示:

事务控制语言主要是设置还原点,回滚,提交等操作!
事务是最小的工作单元,作为一个整体进行工作
保证事务的整体成功或失败,称为事务控制
用于事务控制的语句有:
COMMIT -
提交并结束事务处理
ROLLBACK -
撤销事务中已完成的工作
SAVEPOINT –
标记事务中可以回滚的点
如图示
:

CODE:
SQL> UPDATE order_master
SET del_date = ‘30-8
月
-05’
WHERE orderno <= ’o002’;
SQL> SAVEPOINT mark1;
SQL> DELETE FROM order_master WHERE orderno = ‘o002’;
SQL> SAVEPOINT mark2;
SQL> ROLLBACK TO SAVEPOINT mark1;
SQL> COMMIT;
数据控制语言为用户提供权限控制命令
用于权限控制的命令有:
GRANT
授予权限
REVOKE
撤销已授予的权限
如图

SQL> GRANT SELECT ON vendor_master
TO accounts WITH GRANT OPTION;
SQL> REVOKE SELECT, UPDATE ON order_master
FROM MARTIN;
Oracle
数据类型
Oracle
的数据类型主要包括字符,数值,日期,
RAW/LONG RAW,LOB
如图:

其中
字符数据类型又包括
char varchar2,long
三种类型
当需要固定长度的字符串时
一般使用
char
比如性别字段,其中
char
数据类型的使用效率也是最高的,它最多可以存储
1--2000
个字节(
1000
个汉字)
Varchar2
数据类型支持可变长度字符串
它的存储范围一般在
1—4000
个字节(
2000
个汉字)
Long
数据类型可存储可变长度字符数据,它最多可存储
2GB
如图示:

数值类型可以存储整数,浮点数和实数
最高精度为
38
位
数值数据类型的声明方法:
Number[(p,[s])]
其中
P
代表精度,
S
代表位数
主要的日期类型有
DATE
和
TIMETAMP
DATE
存储日期和时间部分,精确到秒,
TIMETAMP
存储日期,时间,时区秒值精确到小数点后
6
位。
RAM
用于存储二进制数据
最多存储
2000
字节
LONG RAM
可以存储可变长度二进制文件,最多存储
2GB
LOB
为“大对象”数据类型,一般主要用来存储视频,音乐等大容量数据,它最多可以存储
4GB
的非结构化信息,此外
LOB
数据类型允许对数据进行高效,随机,分段的访问!
如图:

LOB
又划分为三类
CLOB BLOB BFILE
CLOB
能够存储大量字符数据,当以上数据类型都不能满足数据存储需要的时候,可以考虑使用
CLOB
数据类型来进行存储!
如图:

BLOB
而兼职
LOB
,可以存储较大的二进制对象,如图行,视频,声音等文件
如图:

BFILE
二进制文件,它用于将二进制数据存储在数据库外部的操作系统文件中!如图:

Oracle
中存在伪列,所谓伪列实际就好比一个表列,但是他并没有存储在表中,他可以从表中查询,但是不能插入,更新,删除它的值!常用的伪列有
ROWID
和
ROWNUM
ROWID
是表中行的存储地址,
该地址可以唯一地标识数据库中的一行,可以使用
ROWID
伪列快速地定位表中的一行!
ROWNUM
是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数