Oracle 基础知识 新手学习详解三

给生活一点仪式感(weixiao),创建表多在电脑上练习,你也会学会的!

创建索引组织表

索引有两个主要用途 :

1> 强制唯一性 : 在创建 PRIMARY KEY 或 UNIQUE 结束时,Oracle 创建索引来强调索引列的唯一性

2> 改善性能 : 当某个查询使用索引时查询性能将显著改善

根据表的主键列值对数据进行排序,索引组织表存储数据时就像整个表存储在一个索引中。普通索引只存储索引列,而索引组织表则在索引中存储表中的所有列

# 经常通过 city,sample_date 创建索引那么在这两个字段上创建索引非常合适

SQL> CREATE TABLE trouble_iot(

city VARCHAR2(13),

sample_date DATE,

noon NUMBER(4,1),

midnight NUMBER(4,1),

precipitation NUMBER,

CONSTRAINT trouble_iot_pk PRIMARY KEY(city,sample_date) ORGANIZATION INDEX

);

如果索引对应的列数据频繁更改,那么就使用普通表

视图

视图不是为了方便查看,也不是看起来像新表,而是可以重命名,同时可以像表一样进行处理,可用于多张表级联查询

创建视图 : CREATE VIEW [视图名] AS 视图名

SQL> CREATE OR REPLACE VIEW newsView AS SELECT feature,section,page FROM newspaper WHERE page IN(SELECT page FROM newspaper WHERE section='M') ORDER BY page;

查看视图结构

SQL> DESCRIBE newsView;

视图可以像普通表一样查询,其对多表的查询被隐藏

注 : 1> 视图不包含任何数据,表包含数据,尽管可以创建包含数据的 “物化视图”,但它们是真实的表,而不是视图

2> 在查询表数据的时候,查询的字段以及少选择条件中的字段必须在视图中,否则会导致查询数据失败

修改视图的基表,视图仍然可见但是视图也会发生对应的改变

可以通过视图修改基表中的数据,创建只读是视图就无法修改

SQL> CREATE OR REPLACE VIEW rein_read_only AS SELECT * FROM trouble WITH READ ONLY;

SQL> INSERT INTO rein_read_only VALUES('北京',SYSDATE,1,2,3);

INSERT INTO rein_read_only VALUES('北京',SYSDATE,1,2,3)

ORA-42399: cannot perform a DML operation on a read-only view

数据类型

包含 字母、数字、空格以及其它符号 (如标点符号、特殊字符) 的串称为字符串

CHAR 定长字符串,有利于查询,插入的字符小于指定长度,将使用空格填充,在进行数据比较时会先比较空格长度是否相等 再进行比较

注 : CHAR 使用空格填充,填充的位置是在字符串结尾填充

VARCHAR 和 VARCHAR2 变长字符串,能很好的节省空间,这两个关键字是同义的,在以后的 ORacle 版本中会有所变化应尽量使用 VARCHAR2


分享到:


相關文章: