资源描述
Oracle 基本概念和操作讲解
oracle的数据库对象
表空间:
l 创建
CREATE TABLESPACE TABLESPACE_NAME DATAFILE FILESPEC
[DEFAULT STORAGE STORAGE] [ONLINE|OFFLINE]
DEFAULT STORAGE子句(INITIAL INTEGER [K|M] NEXT INTEGER [K|M] PCTINCREASE INTEGER MINEXTENTS INTEGER MAXEXTENTS INTEGER)
例如:创建一个名为USER_TOOLS的表空间,使用一个大小为250M的文件,初始大小为256K,每增加一个空间,其大小递增64K的50%。
CREATE TABLESPACE USER_TOOLS
DATAFILE ‘D:\DBS\TOOLS.DBF’ SIZE 250M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED
DEFAULT STORAGE (INITIAL 256K NEXT 64K PCTINCREASE 50 MINEXTENTS 1 MAXEXTENTS 240)
ONLINE ;
l 修改
ALTER TABLESPACE TABLESPACE_NAME …
可修改表空间文件名,大小,增加文件,或表空间状态
例如:追加一个表空间文件。
ALTER TABLESPACE USER_TOOLS
ADD DATAFILE ‘D:\DBS\TOOLS2.DBF’ SIZE 250M AUTOEXTEND OFF;
l 删除
DROP TABLESPACE TABLESPACE_NAME [INCLUDE CONTENTS]
表:
l 创建
CREATE TABLE TABLE_NAME
( COLUMN_SPECIFICATIONS )
…
[TABLESPACE TABLESPACE_NAME]
[AS SUBQUERY];
数据类型
CHAR(n) 定长字符串 n<=255
VARCHAR2(n) 变长字符串 n<=2000
LONG(n) 长字符串 n<=2GB
DATE 日期和时间
NUMBER(p,s) 数值型
RAW和LONG RAW 二进制数据,<=2GB
列主要的参数:NOT NULL,DEFAULT EXPRESSION
l 修改
对表增加列
ALTER TABLE TABLE_NAME ADD (COLUMN_SPECIFICATIONS );
对表修改列
ALTER TABLE TABLE_NAME MODIFY (COLUMN_SPECIFICATIONS );
---删除列可在ORACLE8i应用
l 删除
DROP TABLE TABLE_NAME;
索引:
l 创建
CREATE [UNIQUE] INDEX INDEX_NAME ON TABLE_NAME
(COLUMN_LIST [ASC|DESC]) …[TABLESPACE TABLESPACE_NAME];
l 修改
ALTER INDEX INDEX_NAME …;
可用于修改有关存储和事务的参数
l 删除
DROP INDEX INDEX_NAME ;
序列:
l 创建
CREATE SEQUENCE SEQUENCE_NAME
[INCREMENT BY INTEGER]
[START WITH INTEGER]
[MAXVALUE INTEGER]
[MINVALUE INTEGER]
[CYCLE|NOCYCLE]
[CACHE|NOCACHE]
[ORDER|NOORDER]
l 删除
DROP SEQUENCE SEQUENCE_NAME;
访问时用SEQUENCE_NAME.CURRVAL 和 SEQUENCE_NAME.NEXTVAL
视图:
l 创建与修改
CREATE [OR REPLACE ] VIEW VIEW_NAME AS
SELECT_STATEMENT [WITH READ ONLY|WITH CHECK OPTION ];
l 删除
DROP VIEW VIEW_NAME;
同义词:
CREATE SYNONYM NAME FOR USER_NAME.OBJECT_NAME
回滚段
其他(存储过程,函数,包等)
oracle的安全
角色
用户
创建用户:
create user user_name
identified by password
;
修改用户密码:
alter user user_name
identified by password
;
用户之间的相互操作:
授权:grant
建立同义词:
概念和技巧
Ø 主键,外键
Ø 外连接(+)
select a.acc_nbr,nvl(b.,m1,0)
from
(select acc_nbr from serv) a,
(select acc_nbr ,m1 from meter_reading) b,
where a.acc_nbr=b.acc_nbr(+)
Ø 父连接
call_catg name father_call_catg
1 长途
2 国内 1
3 国际 1
4 港澳台 1
select call_catg from call_catg_desc
connect by prior call_catg = father_CALL_CATG
start with CALL_CATG in (1)
Ø 几个函数:nvl,decode
树立安全意识
Ø 不要随意泄露bill,cal用户的口令.
Ø 经常检查数据库的备份情况
Ø 不要轻易的删除数据
Ø 定期更换数据库的口令
展开阅读全文