日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Oracle的數(shù)據(jù)庫表與視圖

瀏覽:222日期:2023-11-20 18:39:59
Oracle數(shù)據(jù)庫數(shù)據(jù)對象中最基本的是表和視圖,其他還有約束、序列、函數(shù)、存儲過程、包、觸發(fā)器等。對數(shù)據(jù)庫的操作可以基本歸結(jié)為對數(shù)據(jù)對象的操作,理解和把握Oracle數(shù)據(jù)庫對象是學(xué)習(xí)Oracle的捷徑。表和視圖Oracle中表是數(shù)據(jù)存儲的基本結(jié)構(gòu)。ORACLE8引入了分區(qū)表和對象表,ORACLE8i引入了臨時表,使表的功能更強(qiáng)大。視圖是一個或多個表中數(shù)據(jù)的邏輯表達(dá)式。本文我們將討論怎樣創(chuàng)建和治理簡單的表和視圖。治理表表可以看作有行和列的電子數(shù)據(jù)表,表是關(guān)系數(shù)據(jù)庫中一種擁有數(shù)據(jù)的結(jié)構(gòu)。用CREATE TABLE語句建立表,在建立表的同時,必須定義表名,列,以及列的數(shù)據(jù)類型和大小。例如:CREATE TABLE prodUCts( PROD_ID NUMBER(4), PROD_NAME VAECHAR2(20), STOCK_QTY NUMBER(5,3));這樣我們就建立了一個名為products的表, 要害詞CREATE TABLE后緊跟的表名,然后定義了三列,同時規(guī)定了列的數(shù)據(jù)類型和大小。在創(chuàng)建表的同時你可以規(guī)定表的完整性約束,也可以規(guī)定列的完整性約束,在列上普通的約束是NOT NULL,關(guān)于約束的討論我們在以后進(jìn)行。在建立或更改表時,可以給表一個缺省值。缺省值是在增加行時,增加的數(shù)據(jù)行中某一項值為null時,oracle即認(rèn)為該值為缺省值。下列數(shù)據(jù)字典視圖提供表和表的列的信息: . DBA_TABLES . DBA_ALL_TABLES . USER_TABLES . USER_ALL_TABLES . ALL_TABLES . ALL_ALL_TABLES . DBA_TAB_COLUMNS . USER_TAB_COLUMNS . ALL_TAB_COLUMNS表的命名規(guī)則表名標(biāo)識一個表,所以應(yīng)盡可能在表名中描述表,oracle中表名或列名最長可以達(dá)30個字符串。表名應(yīng)該以字母開始,可以在表名中包含數(shù)字、下劃線、#、從其它表中建立表可以使用查詢從基于一個或多個表中建立表,表的列的數(shù)據(jù)類型和大小有查詢結(jié)果決定。建立這種形式的表的查詢可以選擇其他表中所有的列或者只選擇部分列。在CREATE TABLE語句中使用要害字AS,例如:SQL>CREATE TABLE emp AS SELECT * FROM employeeTABLE CREATEDSQL> CREATE TABLE Y AS SELECT * FROM X WHERE no=2需要注重的是假如查詢涉及LONG數(shù)據(jù)類型,那么CREATE TABLE....AS SELECT....將不會工作。更改表定義在建立表后,有時候我們可能需要修改表,比如更改列的定義,更改缺省值,增加新列,刪除列等等。ORACLE使用ALTER TABLE語句來更改表的定義1、增加列語法:ALTER TABLE [schema.] table_name ADD column_definition例:ALTER TABLE orders ADD order_date DATE;TABLE ALTER對于已經(jīng)存在的數(shù)據(jù)行,新列的值將是NULL.2、更改列語法:ALTER TABLE [schema.] table_name MODIFY column_name new_attributes;例:ALTER TABLE orders MODITY (quantity number(10,3),status varchar2(15));這個例子中我們修改了表orders,將STATUS列的長度增加到15,將QUANTITY列減小到10,3;修改列的規(guī)則如下: . 可以增加字符串?dāng)?shù)據(jù)類型的列的長度,數(shù)字?jǐn)?shù)據(jù)類型列的精度。 . 減少列的長度時,該列應(yīng)該不包含任何值,所有數(shù)據(jù)行都為NULL. . 改變數(shù)據(jù)類型時,該列的值必須是NULL. . 對于十進(jìn)制數(shù)字,可以增加或減少但不能降低他的精度。3、刪除數(shù)據(jù)列優(yōu)化ORACLE數(shù)據(jù)庫,唯一的方法是刪除列,重新建立數(shù)據(jù)庫。在ORACLE8i中有很多方法刪除列,你可以刪除未用數(shù)據(jù)列或者可以標(biāo)示該列為未用數(shù)據(jù)列然后刪除。刪除數(shù)據(jù)列的語法是:ALTER TABLE [schema.] table_name DROP {COLUM column_names (column_names)}[CASCADE CONSTRAINS]要注重的是在刪除列時關(guān)于該列的索引和完整性約束也同時刪除。注重要害字CASCADE CONSTRAINS,假如刪除的列是多列約束的一部分,那么這個約束條件相對于其他列也同時刪除。假如用戶擔(dān)心在大型數(shù)據(jù)庫中刪除列要花太多時間,可以先將他們標(biāo)記為未用數(shù)據(jù)列,標(biāo)記未用數(shù)據(jù)列的語法如下:ALTER TABLE [schema.] table_name SET UNUSED {COLUM column_names (column_names)}[CASCADE CONSTRAINS]這個語句將一個或多個數(shù)據(jù)列標(biāo)記為未用數(shù)據(jù)列,但并不刪除數(shù)據(jù)列中的數(shù)據(jù),也不釋放占用的磁盤空間。但是,未用數(shù)據(jù)列在視圖和數(shù)據(jù)字典中并不顯示,并且該數(shù)據(jù)列的名稱將被刪除,新的數(shù)據(jù)列可以使用這個名稱。基于該數(shù)據(jù)列的索引、約束,統(tǒng)計等都將被刪除。 刪除未用數(shù)據(jù)列的語句是:ALTER TABLE [schema.] table_name DROP {UNUSED COLUM COLUMN CONTINUE}刪除表和更改表名刪除表非常簡單,但它是一個不可逆轉(zhuǎn)的行為。語法:DROP TABLE [schema.] table_name [CASCADE CONSTRAINTS]刪除表后,表上的索引、觸發(fā)器、權(quán)限、完整性約束也同時刪除。ORACLE不能刪除視圖,或其他程序單元,但oracle將標(biāo)示他們無效。假如刪除的表涉及引用主鍵或唯一要害字的完整性約束時,那么DROP TABLE語句就必須包含CASCADE CONSTRAINTS子串。更改表名RENAME命令用于給表和其他數(shù)據(jù)庫對象改名。ORACLE系統(tǒng)自動將基于舊表的完整性約束、索引、權(quán)限轉(zhuǎn)移到新表中。ORACLE同時使所有基于舊表的數(shù)據(jù)庫對象,比如視圖、程序、函數(shù)等,為不合法。語法:RENAME old_name TO new_name;例:SQL> RENAME orders TO purchase_orders;TABLE RENAMED截短表TRUNCATE命令與DROP命令相似, 但他不是刪除整個數(shù)據(jù)表,所以索引、完整性約束、觸發(fā)器、權(quán)限等都不會被刪除。缺省情況下將釋放部分表和視圖空間,假如用戶不希望釋放表空間,TRUNCATE語句中要包含REUSE STORAGE子串。TRUNCATE命令語法如下:TRUNCATE {TABLECLUSTER} [schema.] name {DROPREUSE STORAGE}例:SQL> TRUNCATE TABLE t1;TABLE truncate.治理視圖視圖是一個或多個表中的數(shù)據(jù)的簡化描述,用戶可以將視圖看成一個存儲查詢(stored query)或一個虛擬表(virtual table).查詢僅僅存儲在oracle數(shù)據(jù)字典中,實際的數(shù)據(jù)沒有存放在任何其它地方,所以建立視圖不用消耗其他的空間。視圖也可以隱藏復(fù)雜查詢,比如多表查詢,但用戶只能看見視圖。視圖可以有與他所基于表的列名不同的列名。用戶可以建立限制其他用戶訪問的視圖。建立視圖CREATE VIEW命令創(chuàng)建視圖,定義視圖的查詢可以建立在一個或多個表,或其他視圖上。查詢不能有FOR UPDATE子串,在早期的ORACLE8i版本中不支持ORDER BY子串,現(xiàn)在的版本中CREATE VIEW可以擁有ORDER BY子串。例:SQL> CREATE VIEW TOP_EMP AS SELECT empno EMPLOYEE_ID,ename EMPLOYEE_NAME,salary FROM empWHERE salary >2000用戶可以在創(chuàng)建視圖的同時更改列名,方法是在視圖名后立即加上要命名的列名。重新定義視圖需要包含OR REPLACE子串。SQL> CREATE VIEW TOP_EMP(EMPLOYEE_ID,EMPLOYEE_NAME,SALARY) AS SELECT empno ,ename ,salary FROM empWHERE salary >2000假如在創(chuàng)建的視圖包含錯誤在正常情況下,視圖將不會被創(chuàng)建。但假如你需要創(chuàng)建一個帶錯誤的視圖必須在CREATE VIEW語句中帶上FORCE選項。如:CREATE FORCE VIEW ORDER_STATUS AS SELECT * FROM PURCHASE_ORDERSWHERE STATUS='APPPOVE';SQL>/warning :View create with compilation errors這樣將創(chuàng)建了一個名為ORDER_STATUS的視圖,但這樣的視圖的狀態(tài)是不合法的,假如以后狀態(tài)發(fā)生變化則可以重新編譯,其狀態(tài)也變成合法的。從視圖中獲得數(shù)據(jù)從視圖中獲得數(shù)據(jù)與從表中獲得數(shù)據(jù)基本一樣,用戶可以在連接和子查詢中使用視圖,也可以使用SQL函數(shù),以及所有SELECT語句的字串。插入、更新、刪除數(shù)據(jù)用戶在一定的限制條件下可以通過視圖更新、插入、刪除數(shù)據(jù)。假如視圖連接多個表,那么在一個時間里只能更新一個表。所有的能被更新的列可以在數(shù)據(jù)字典USER_UPDATETABLE_COLUMNS中查到。用戶在CREATE VIEW中可以使用了WITH子串。WITH READ ONLY子串表示創(chuàng)建的視圖是一個只讀視圖,不能進(jìn)行更新、插入、刪除操作。WITH CHECK OPTION表示可以進(jìn)行插入和更新操作,但應(yīng)該滿足WHERE子串的條件。這個條件就是創(chuàng)建視圖WHERE子句的條件,比如在上面的例子中用戶創(chuàng)建了一個視圖TOP_EMP,在這個視圖中用戶不能插入salary小于2000的數(shù)據(jù)行。刪除視圖刪除視圖使用DROP VIEW命令。同時將視圖定義從數(shù)據(jù)字典中刪除,基于視圖的權(quán)限也同時被刪除,其他涉及到該視圖的函數(shù)、視圖、程序等都將被視為非法。例:DROP VIEW TOP_EMP;
標(biāo)簽: Oracle 數(shù)據(jù)庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品**亚洲精品| 日韩理论片av| 午夜国产精品视频免费体验区| 精品一区二区三区免费看| 国产精品一区二区av交换| 久色成人在线| 免费国产亚洲视频| 日本亚洲视频在线| 18国产精品| 久久国产人妖系列| 国产欧美日韩亚洲一区二区三区| 日韩精彩视频在线观看| 国产欧美日韩影院| 国内一区二区三区| 日韩精品诱惑一区?区三区| 91精品一区国产高清在线gif| 欧美日韩亚洲在线观看| 中文国产一区| 日韩在线电影| 麻豆精品久久久| 四虎国产精品免费观看| 亚洲1234区| 嫩呦国产一区二区三区av| 国产精品日韩精品在线播放| 奇米777国产一区国产二区| 久久激情五月激情| 精品国产不卡一区二区| 久久免费国产| 久久www成人_看片免费不卡| 亚洲精品三级| 国产精品igao视频网网址不卡日韩| 久久免费影院| 国产精品av一区二区| 午夜在线精品| 国产精品毛片视频| 精品久久久久中文字幕小说| 久久久久99| 亚洲aa在线| 国产一区2区| 狠狠爱www人成狠狠爱综合网| 亚洲精品激情| 国产成人免费视频网站视频社区| 91精品1区| 国产亚洲欧美日韩在线观看一区二区| 成人在线视频免费看| 亚洲高清av| 日韩成人av影视| 国产成人精品免费视| 好看的av在线不卡观看| 日本强好片久久久久久aaa| 麻豆91精品91久久久的内涵| 自由日本语亚洲人高潮| 国产欧美一区二区精品久久久 | 黄色亚洲免费| 日本午夜精品视频在线观看| yellow在线观看网址| 蘑菇福利视频一区播放| 久久只有精品| 国产精品99一区二区| 日本午夜精品一区二区三区电影| 捆绑调教日本一区二区三区| 国内激情久久| 国产伦一区二区三区| 日本在线啊啊| 中文字幕在线官网| 国产精品分类| 欧美精品中文字幕亚洲专区| 精品国产网站| 亚洲欧美日韩视频二区| 精品在线网站观看| 亚洲一区日韩| 你懂的亚洲视频| 国产情侣久久| 日韩三区免费| 国产精品一区二区精品视频观看 | 精品久久美女| 蜜桃视频免费观看一区| 国产成人免费精品| 日韩av在线播放中文字幕| 亚洲小说欧美另类婷婷| 精品黄色一级片| 在线精品福利| 午夜电影亚洲| 婷婷激情一区| 国产精品一区二区三区美女| 亚洲精品**中文毛片| 精品国产乱码久久久| 综合激情五月婷婷| 久久一级电影| 国产成人精选| 国产精品一级| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲播播91| 福利欧美精品在线| 国产精品一国产精品| 日日摸夜夜添夜夜添国产精品| 亚洲午夜黄色| 97se综合| 国产一区国产二区国产三区 | 红桃视频国产精品| 久久精品九色| 国产精品久av福利在线观看| 亚洲精品乱码久久久久久蜜桃麻豆| 国产精品av一区二区| 欧美日韩视频网站| 久久久久久久欧美精品| 日本不卡一二三区黄网| 91久久黄色| 国产自产自拍视频在线观看| 国产精品亚洲综合色区韩国| 亚洲精品影视| 综合激情视频| 日韩精品一二三| 欧美精品一区二区久久| 国产精品99一区二区| 日韩精品dvd| 在线观看精品| 国产成人调教视频在线观看| 成人台湾亚洲精品一区二区 | 在线综合视频| 亚洲欧洲一区| 国产亚洲综合精品| 夜夜精品视频| 免费欧美在线视频| 亚洲网址在线观看| 中文字幕日韩欧美精品高清在线| 丝袜诱惑制服诱惑色一区在线观看| 国产视频亚洲| 亚洲婷婷丁香| 综合激情五月婷婷| 日本一不卡视频| 欧美日本二区| 麻豆精品一区二区综合av| 精品国产aⅴ| 国产在线观看91一区二区三区| 国产91欧美| 999久久久精品国产| 亚洲激情久久| 六月婷婷一区| 亚洲黄色影院| 国产麻豆综合| 久久99伊人| 人人爽香蕉精品| 亚洲一区二区三区四区电影| 国模 一区 二区 三区| 欧美特黄一区| 亚洲精品无播放器在线播放| 日韩高清国产一区在线| 国产日韩中文在线中文字幕| 欧美91在线| 亚洲天堂资源| 欧美日韩精品一本二本三本| 美女尤物久久精品| 97se亚洲| 欧美丰满日韩| 亚洲精品小说| 日本伊人午夜精品| 老司机精品视频在线播放| 日韩毛片视频| 性欧美69xoxoxoxo| 日韩中文字幕一区二区高清99| 国产精品麻豆成人av电影艾秋| 日韩综合在线| 午夜久久黄色| 欧美影院视频| 久久电影tv| 亚洲经典在线| 国产精品一站二站| 久久免费国产| 午夜电影一区| 国产精品久久久久久久久久10秀 | 国产亚洲一级| 国产日韩欧美高清免费| 中文在线免费视频| 三级欧美在线一区| 精品国产一区二区三区2021| 亚洲国产专区| 国产欧美大片| 美女网站一区| 国产精品调教| 午夜久久黄色| 卡一精品卡二卡三网站乱码| 九九在线精品| 国产毛片久久久| 久久国产小视频| 91精品国产自产在线丝袜啪| 麻豆视频在线观看免费网站黄 | 国产免费av一区二区三区| 日韩欧美网址| 亚洲精品三级| 91亚洲成人| 亚洲1区在线| | 亚洲精品护士| xxxxx性欧美特大| 亚洲精品看片| 午夜精品成人av| 国产欧美一区二区三区精品观看| 国产一区日韩一区| 国产精品久久久久久久久久妞妞|