给生活一点仪式感(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
閱讀更多 三感video 的文章