程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle數據庫中表與視圖的應用

Oracle數據庫中表與視圖的應用

編輯:Oracle數據庫基礎
Oracle數據庫是被很多人所擁護的一種關系型數據庫管理系統,能都處理大批量的數據,在網絡方面應用的也比較多。Oracle數據對象中最基本的是表和視圖,表由記錄(行row)和字段(列column)構成,是數據庫中存儲數據的結構。要進行數據的存儲和管理,首先要在數據庫中創建表,即表的字段(列)結構。有了正確的結構,就可以用數據操作命令,插入、刪除表中記錄或對記錄進行修改。其他還有約束、序列、函數、存儲過程、包、觸發器等。對數據庫的操作可以基本歸結為對數據對象的操作,理解和掌握Oracle數據庫對象是學習 Oracle的捷徑。

一、表的創建

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數據庫應用中很重要的兩個應用,希望這篇文章能夠幫到大家。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved