oracle总结(五)

做脚本文件的过程: 
变量定义 accept 
环境变量设置 SET 
格式控制命令 
SPOOL 
使用变量的 SQL 
SPOOL OFF 
清除格式控制 
重置环境变量 
释放变量 


数据操作语句
插入
INSERT INTO TABLE(字段 1,字段 2....)VALUES(值 1,值 2....) 
 一次插入只插入一行。字符和日期值需要单引号扩起。
 
可以创建一个脚本用 &变量名 的形式来用一个插入语句实现多行的插入(在值列表里用 &变量名)。 
插入中的子查询:将另一个表中的内容都插入被插入的表中。 
insert into sales_reps(id,name,salary) 
select employee_id,last_name,salary from employees where employee_id>100; 
可以在子查询中做运算后插入到被插入表中。 
不要使用 VALUES 子句。 
在子查询中的列数必须匹配 INSERT 语句中的列数


删除
DELERT FROM TABLE WHERE 条件;
删除所有符合 WHERE 条件的行。 
基于子查询的删除。 
注意及联删除。


更新
UPDATE TABLE SET 列名 1=值 1,列名 2=值 2.....WHERE 条件;
子表的外键字段值必须是父表主键字段值的真子集。


MERGE 语句 
提供了对表根据条件进行插入或者更新的能力。 
如果行存在则执行 UPDATE,如果不存在则执行 INSERT
MERGE INTO test T1
USING (SELECT OWNER , OBJECT_NAME , MAX(ID) ID FROM T GROUP BY OWNER, OBJECT_NAME) T
ON (T.OWNER = T1.OWNER AND T.OBJECT_NAME = T1.TABLE_NAME)
WHEN MATCHED THEN UPDATE SET T1.ID = T.IDWHEN NOT MATCHED THEN INSERT VALUES (T.ID, T.OWNER, T.OBJECT_NAME);


事务(transaction): 
由被逻辑组织在一起的多个 DML 语句的构成。
COMMIT:提交。 
ROLLBACK:回滚。 
SAVEPOINT:存储点,只在事务执行过程中有效,事务结束即被释放。 
事务的组成: 
一组相同改变特性的 DML 语句; 
一个 DDL:数据定义语句; 
一个 DCL:权限控制语句;


事务的开始: 
开始于第一个 DML SQL 语句执行时开始 
结束的时候是在: 
一个 COMMIT 或 ROLLBACK 被执行的时候。 
一个 DDL 或 DCL 语句被执行(自动提交)注意*&*!(隐式) 
用户退出 SQLPLUS(隐式)  
系统崩溃(隐式)


创建和管理表
规则:
1.表名和列名(使用规则): 
2.必须是字母开头; 
3.必须是 1-30 的字符长度; 
4.只能包括 A-Z,a-z,0-9,_,$,#; 
5.在同一个用户下不能头重名的对象; 
6.不能是 ORACLE 的保留字;


当前用户所有的表 
select table_name from user_tables; 
当前用户所有的对象: 
desc user_objects 
当前用户对象的别名: 
select * from cat;


 VARCHAR(size) 变长字符串类型 
 CHAR(size)  定长字符串类型 
 NUMBER(p,s)p位整数,s 位小数  
 DATE  
 DATETIME 秒级最多可以到小数点后的 9 位 
 TIMESTAMP 带有小数秒的日期 
 TIMESTAMP WITHTIME ZONE 带时区的类型 
 TIMESTAMP WITH LOCAL TIME ZONE 带时区的并会进行时区转换的类型(同一时间在不同地区看到的时间) 
 INTERVAL YEAR TO MONTH 按年和月的间隔存储的类型 
 INTERVAL ‘123-2’ TEAR(3) TO MONTH 
 INTERVAL DAY TO SECOND 按天、小时、分和秒的间隔存储的类型 
 INTERVAL  
 LONG 变长的长字符串类型 
 CLOB 字符类型 4GIGABYTES  
 RAW 二进制类型与 CHAR 对应 
 LONG RAW 二进制类型与 LONG 对应 
 BLOB 
 BFILE 以文件的形式存储在操作系统中 
 ROWID 表中行的唯一地址(行地址)
 
方案是该用户下所有对象的集合,方案在名称上和用户名是相同的。
如果想访问其他用户或方案的表要加上用户或方案作为前缀。
一般在实现一个软件工程项目时,用户习惯于把数据存储在一个集中的对象中。但是在Oracle中一般只有一个数据库,那么在一个数据库中实现不同的项目就非常不方便。Oracle在组织不同项目中的数据库对象时,使用方案进行区分。也就是说,创建一个软件项目,在Oracle中不是针对这个项目,创建独立的数据库,而是为此项目创建一个方案。


数据库对象是索引、表、视图、函数、包、过程、同义词、序列、触发器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值