一、表的創建
1.創建表的語法
表的創建需要CREATE TABLE 系統權限,表的基本創建語法如下:
CREATE TABLE 表名
列名 數據類型[DEFAULT 表達式][COLUMN CONSTRAINT],
[TABLE CONSTRAINT]
[TABLE_PARTITION_CLAUSE]
);
由此可見,創建表最主要的是要說明表名、列名、列的數據類型和寬度,多列之間用“,”分隔。可以是用中文或英文作為表名和列名。表名最大長度為30個字符。在同一個用戶下,表不能重名,但不同用戶表的名稱可以相重。另外,表的名稱不能使用Oracle的保留字。在一張表中最多可以包含2000列。該語法中的其他部分根據需要添加,作用如下:
DEFAULT 表達式:用來定義列的默認值。
COLUMN CONSTRAINT:用來定義列級的約束條件。
TABLE CONSTRAINT:用來定義表級的約束條件。
TABLE_PARTITION_CLAUSE:定義表的分區子句。
2.通過子查詢創建表
如果要創建一個同已有的表結構相同或部分相同的表,可以采用以下的語法:
CREATE TABLE 表名(列名) AS SQL查詢語句;
該語法既可以復制表的結構,也可以復制表的內容,並可以為新表命名新的列名。新的列名在表名後的括號中給出,如果省略將采用原來表的列名。復制的內容由查詢語句的WHERE條件決定。
3.刪除已創建的表
刪除表的語法如下:
DROP TABLE 表名[CASCADE CONSTRAINTS];
表的刪除者必須是表的創建者或具有DROP ANY TABLE權限。CASCADE CONSTRAINTS表示當要刪除的表被其他表參照時,刪除參照此表的約束條件。
視圖的應用
視圖是基於一張表或多張表或另外一個視圖的邏輯表。視圖不同於表,視圖本身不包含任何數據。表是實際獨立存在的實體,是用於存儲數據的基本結構。而視圖只是一種定義,對應一個查詢語句。視圖的數據都來自於某些表,這些表被稱為基表。通過視圖來查看表,就像是從不同的角度來觀察一個(或多個)表。
二、視圖的創建
創建視圖需要CREAE VIEW系統權限,視圖的創建語法如下:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW 視圖名[(別名1,別名2...)]
AS 子查詢
[WITH CHECK OPTION [CONSTRAINT 約束名]]
[WITH READ ONLY]
其中:
OR REPLACE 表示替代已經存在的視圖。
FORCE表示不管基表是否存在,創建視圖。
NOFORCE表示只有基表存在時,才創建視圖,是默認值。
別名是為子查詢中選中的列新定義的名字,替代查詢表中原有的列名。
子查詢是一個用於定義視圖的SELECT查詢語句,可以包含連接、分組及子查詢。
WITH CHECK OPTION表示進行視圖插入或修改時必須滿足子查詢的約束條件。後面的約束名是該約束條件的名字。
WITH READ ONLY 表示視圖是只讀的。
刪除視圖的語法如下:
DROP VIEW 視圖名;
刪除視圖者需要是視圖的建立者或者擁有DROP ANY VIEW權限。視圖的刪除不影響基表,不會丟失數據。
這就是我要為大家介紹的Oracle數據庫中表與視圖的應用,Oracle數據庫中表與視圖的應用是Oracle數據庫應用中很重要的兩個應用,希望這篇文章能夠幫到大家。