PL/SQL中的表和视图(读书笔记)

一:表

5.1;建立一个表

用PL/SQL建立一个表

CREATE TABLE NEW_DEPT(
DEPTNO NUMBER(2),
DNAME CHAR(6),
LOC CHAR(12)
);

1:一定要有的一阔号;

2:标点符号一定要是英文;

3;最后一行数据应该是没有标点符号;

ALTER TABLE NEW_DEPT
MODIFY DNAME CHAR(20)

4:一定要有管理员权限才有可能建立此表

表名和列名的定义要满足一定的规则,既表名和列名的第一个字母必须是英文字母,后面的字符可以是字母或数字及$,#等符号,但不能用逗号,名称长度,不能超过30个字符。

数据类型一般有CHAR(字符型);NUMBER(数值型);DATE(日期型);LONG(长字符型);RAW(二进制型);CHAR(N)表示字符长度;NUMBER(n,d)来分别定义数值开进数据的长度和小数点位数;

在某些情况下,用户可能不准数据为空,可能要在后面加上NOT NULL;

5.2:表的修改

增加一列

ALTER NEW_DEPT
ADD(HEADCNT NUMBER(2))

修改数据长度(由10变成20)

ALTER TABLE NEW_DEPT
MODIFY DNAME CHAR(20)

5.3表的删除

DROP TABLE NEW_DEPT

二:视图

视图实际是一种虚拟表;其数据是由其它表和视图中提取的。将视图所基于的表称为基表;

提供了附加的安全级

隐藏数据的的复杂性

可以提供变换列名的手段,而无需真正地改变基表的定义

由于视图并不包含数据,除了视图名称后,还需要说明如何从已存在的表中检索数据以构成视图。

CREATE VIEW MANAGER AS 
SELECT ENAME,JOB,SAL 
FROM NEW_DEPT
WHERE JOB='MANAGER'

在建立视图时,不能使用ORDER BY子句来规定视图数据的来源。默认情况下,视图中的列名与原来基表中的列名一样;

 以下则是列名都变了

CREATE VIEW MYDEPT
(PERSON,TITLE,SALARY)
AS SELECT ENAME,JOB,SAL 
FROM NEW_DEPT
WHERE JOB='MANAGER'

不准超出视图所能选择的行的范围


CREATE VIEW MANAGER 
(PERSON,TITLE,SALARY)
AS SELECT ENAME,JOB,SAL 
FROM NEW_DEPT
WHERE JOB='MANAGER'
WITH CHECK OPTION

视图的删除

DROP VIEW VIEW_NAME

三,表和视图的复制

表的拷贝

CREATE TABLE EMP2
AS SELECT *
FROM EMP

视图的复制

CREATE VIEW NEW_DEPT20
AS SELECT * FROM DEPT20

参考

https://www.cnblogs.com/arxive/p/6139465.html

http://wf.tedu.cn/news/340785.html

发布了153 篇原创文章 · 获赞 15 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/beyond911/article/details/103840118