freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

02oracle數(shù)據(jù)庫(kù)sql學(xué)習(xí)教程-資料下載頁(yè)

2025-06-25 04:58本頁(yè)面
  

【正文】 , Last_Name varchar(30), First_Name varchar(30))。 以下則是以改變現(xiàn)有表格架構(gòu)來(lái)設(shè)定主鍵的方式: MySQL: ALTER TABLE Customer ADD PRIMARY KEY (SID)。 Oracle: ALTER TABLE Customer ADD PRIMARY KEY (SID)。 SQL Server: ALTER TABLE Customer ADD PRIMARY KEY (SID)。 請(qǐng)注意,在用ALTER TABLE語(yǔ)句來(lái)添加主鍵之前,我們需要確認(rèn)被用來(lái)當(dāng)做主鍵的欄位是設(shè)定為 『NOT NULL』 ;也就是說(shuō),那個(gè)欄位一定不能沒(méi)有資料。 外來(lái)鍵外來(lái)鍵是一個(gè)(或數(shù)個(gè))指向另外一個(gè)表格主鍵的欄位。外來(lái)鍵的目的是確定資料的參考完整性(referential integrity)。換言之,只有被準(zhǔn)許的資料值才會(huì)被存入數(shù)據(jù)庫(kù)內(nèi)。 舉例來(lái)說(shuō),假設(shè)我們有兩個(gè)表格:一個(gè) CUSTOMER 表格,里面記錄了所有顧客的資料;另一個(gè) ORDERS 表格,里面記錄了所有顧客訂購(gòu)的資料。在這里的一個(gè)限制,就是所有的訂購(gòu)資料中的顧客,都一定是要跟在 CUSTOMER 表格中存在。在這里,我們就會(huì)在 ORDERS 表格中設(shè)定一個(gè)外來(lái)鍵,而這個(gè)外來(lái)鍵是指向 CUSTOMER 表格中的主鍵。這樣一來(lái),我們就可以確定所有在 ORDERS 表格中的顧客都存在 CUSTOMER 表格中。換句話說(shuō),ORDERS表格之中,不能有任何顧客是不存在于 CUSTOMER 表格中的資料。 這兩個(gè)表格的結(jié)構(gòu)將會(huì)是如下: CUSTOMER 表格 欄位名性質(zhì)SID主鍵Last_NameFirst_NameORDERS 表格 欄位名性質(zhì)Order_ID主鍵Order_DateCustomer_SID外來(lái)鍵Amount在以上的例子中,ORDERS 表格中的 customer_SID 欄位是一個(gè)指向 CUSTOMERS 表格中 SID 欄位的外來(lái)鍵。 以下列出幾個(gè)在建置 ORDERS 表格時(shí)指定外來(lái)鍵的方式: MySQL: CREATE TABLE ORDERS (Order_ID integer, Order_Date date, Customer_SID integer, Amount double, Primary Key (Order_ID), Foreign Key (Customer_SID) references CUSTOMER(SID))。 Oracle: CREATE TABLE ORDERS (Order_ID integer primary key, Order_Date date, Customer_SID integer references CUSTOMER(SID), Amount double)。 SQL Server: CREATE TABLE ORDERS (Order_ID integer primary key, Order_Date datetime, Customer_SID integer references CUSTOMER(SID), Amount double)。 以下的例子則是藉著改變表格架構(gòu)來(lái)指定外來(lái)鍵。這里假設(shè) ORDERS 表格已經(jīng)被建置,而外來(lái)鍵尚未被指定: MySQL: ALTER TABLE ORDERS ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid)。 Oracle: ALTER TABLE ORDERS ADD (CONSTRAINT fk_orders1) FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid)。 SQL Server: ALTER TABLE ORDERS ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid)。 CREATE VIEW視觀表 (Views) 可以被當(dāng)作是虛擬表格。它跟表格的不同是,表格中有實(shí)際儲(chǔ)存資料,而視觀表是建立在表格之上的一個(gè)架構(gòu),它本身并不實(shí)際儲(chǔ)存資料。 建立一個(gè)視觀表的語(yǔ)法如下: CREATE VIEW VIEW_NAME AS SQL 語(yǔ)句SQL 語(yǔ)句 可以是任何一個(gè)我們?cè)谶@個(gè)教材中有提到的 SQL。來(lái)看一個(gè)例子。假設(shè)我們有以下的表格: TABLE Customer(First_Name char(50),Last_Name char(50),Address char(50),City char(50),Country char(25),Birth_Date date)若要在這個(gè)表格上建立一個(gè)包括 First_Name, Last_Name, 和 Country 這三個(gè)欄位的視觀表,我們就打入, CREATE VIEW V_CustomerAS SELECT First_Name, Last_Name, CountryFROM Customer現(xiàn)在,我們就有一個(gè)叫做 V_Customer 的視觀表: View V_Customer(First_Name char(50),Last_Name char(50),Country char(25))我們也可以用視觀表來(lái)連接兩個(gè)表格。在這個(gè)情況下,使用者就可以直接由一個(gè)視觀表中找出她要的信息,而不需要由兩個(gè)不同的表格中去做一次連接的動(dòng)作。假設(shè)有以下的兩個(gè)表格: Store_Information 表格 store_nameSalesDateLos Angeles$1500Jan051999San Diego$250Jan071999Los Angeles$300Jan081999Boston$700Jan081999Geography 表格 region_namestore_nameEastBostonEastNew YorkWestLos AngelesWestSan Diego我們就可以用以下的指令來(lái)建一個(gè)包括每個(gè)地區(qū) (region) 銷售額 (sales) 的視觀表: CREATE VIEW V_REGION_SALESAS SELECT REGION, SUM() SALESFROM Geography A1, Store_Information A2WHERE = GROUP BY 這就給我們有一個(gè)名為 V_REGION_SALES 的視觀表。這個(gè)視觀表包含不同地區(qū)的銷售哦。如果我們要從這個(gè)視觀表中獲取資料,我們就打入, SELECT * FROM V_REGION_SALES結(jié)果:REGION SALES East $700 West $2050 CREATE INDEX索引 (Index) 可以幫助我們從表格中快速地找到需要的資料。舉例來(lái)說(shuō),假設(shè)我們要在一本園藝書中找如何種植青椒的訊息。若這本書沒(méi)有索引的話,那我們是必須要從頭開(kāi)始讀,直到我們找到有關(guān)種直青椒的地方為止。若這本書有索引的話,我們就可以先去索引找出種植青椒的信息是在哪一頁(yè),然后直接到那一頁(yè)去閱讀。很明顯地,運(yùn)用索引是一種有效且省時(shí)的方式。 從數(shù)據(jù)庫(kù)表格中尋找資料也是同樣的原理。如果一個(gè)表格沒(méi)有索引的話,數(shù)據(jù)庫(kù)系統(tǒng)就需要將整個(gè)表格的資料讀出 (這個(gè)過(guò)程叫做39。table scan39。)。若有適當(dāng)?shù)乃饕嬖?,?shù)據(jù)庫(kù)系統(tǒng)就可以先由這個(gè)索引去找出需要的資料是在表格的什么地方,然后直接去那些地方抓資料。這樣子速度就快多了。 因此,在表格上建立索引是一件有利于系統(tǒng)效率的事。一個(gè)索引可以涵蓋一或多個(gè)欄位。建立索引的語(yǔ)法如下: CREATE INDEX INDEX_NAME ON TABLE_NAME (COLUMN_NAME)現(xiàn)在假設(shè)我們有以下這個(gè)表格, TABLE Customer(First_Name char(50),Last_Name char(50),Address char(50),City char(50),Country char(25),Birth_Date date)若我們要在 Last_Name 這個(gè)欄位上建一個(gè)索引,我們就打入以下的指令,CREATE INDEX IDX_CUSTOMER_LAST_NAMEon CUSTOMER (Last_Name)我們要在 City 及 Country 這兩個(gè)欄位上建一個(gè)索引,我們就打入以下的指令,CREATE INDEX IDX_CUSTOMER_LOCATIONon CUSTOMER (City, Country)索引的命名并沒(méi)有一個(gè)固定的方式。通常會(huì)用的方式是在名稱前加一個(gè)字首,例如 IDX_ ,來(lái)避免與數(shù)據(jù)庫(kù)中的其他物件混淆。另外,在索引名之內(nèi)包括表格名及欄位名也是一個(gè)好的方式。 請(qǐng)讀者注意,每個(gè)數(shù)據(jù)庫(kù)會(huì)有它本身的 CREATE INDEX 語(yǔ)法,而不同數(shù)據(jù)庫(kù)的語(yǔ)法會(huì)有不同。因此,在下指令前,請(qǐng)先由數(shù)據(jù)庫(kù)使用手冊(cè)中確認(rèn)正確的語(yǔ)法。 ALTER TABLE在表格被建立在數(shù)據(jù)庫(kù)中后,我們常常會(huì)發(fā)現(xiàn),這個(gè)表格的結(jié)構(gòu)需要有所改變。常見(jiàn)的改變?nèi)缦拢?加一個(gè)欄位 刪去一個(gè)欄位 改變欄位名稱 改變欄位的資料種類 以上列出的改變并不是所有可能的改變。ALTER TABLE 也可以被用來(lái)作其他的改變,例如改變主鍵定義。 ALTER TABLE 的語(yǔ)法如下: ALTER TABLE table_name[改變方式] [改變方式] 的詳細(xì)寫法會(huì)依我們想要達(dá)到的目標(biāo)而有所不同。再以上列出的改變中,[改變方式] 如下: 加一個(gè)欄位: ADD 欄位 1 欄位 1 資料種類 刪去一個(gè)欄位: DROP 欄位 1 改變欄位名稱: CHANGE 原本欄位名 新欄位名 新欄位名資料種類 改變欄位的資料種類: MODIFY 欄位 1 新資料種類 以下我們用在CREATE TABLE 一頁(yè)建出的 customer 表格來(lái)當(dāng)作例子: customer 表格 欄位名稱資料種類First_Namechar(50)Last_Namechar(50)Addresschar(50)Citychar(50)Countrychar(25)Birth_Datedate第一,我們要加入一個(gè)叫做 gender 的欄位。這可以用以下的指令達(dá)成: ALTER table customer add Gender char(1) 這個(gè)指令執(zhí)行后的表格架構(gòu)是: customer 表格 欄位名稱資料種類First_Namechar(50)Last_Namechar(50)Addresschar(50)Citychar(50)Countrychar(25)Birth_DatedateGenderchar(1)接下來(lái),我們要把 Address 欄位改名為 Addr。這可以用以下的指令達(dá)成: ALTER table customer change Address Addr char(50) 這個(gè)指令執(zhí)行后的表格架構(gòu)是: customer 表格 欄位名稱資料種類First_Namechar(50)Last_Namechar(50)Addrchar(50)Citychar(50)Countrychar(25)Birth_DatedateGenderchar(1)再來(lái),我們要將 Addr 欄位的資料種類改為 char(30)。這可以用以下的指令達(dá)成: ALTER table customer modify Addr char(30) 這個(gè)指令執(zhí)行后的表格架構(gòu)是: customer 表格 欄位名稱資料種類First_Namechar(50)Last_Namechar(50)Addrchar(30)Citychar(50)Countrychar(25)Birth_DatedateGenderchar(1)最后,我們要?jiǎng)h除 Gender 欄位。這可以用以下的指令達(dá)成: ALTER table customer drop Gender 這個(gè)指令執(zhí)行后的表格架構(gòu)是: customer 表格 欄位名稱資料種類First_Namechar(50)Last_Namechar(50)Addrchar(30)Citychar(50)Countrychar(25)Birth_Datedate DROP TABLE有時(shí)候我們會(huì)決定我們需要從數(shù)據(jù)庫(kù)中清除一個(gè)表格。事實(shí)上,如果我們不能這樣做的話,那將會(huì)是一個(gè)很大的問(wèn)題,因?yàn)閿?shù)據(jù)庫(kù)管理師 (Database Administrator DBA) 勢(shì)必?zé)o法對(duì)數(shù)據(jù)庫(kù)做有效率的管理。還好,SQL 有提供一個(gè) DROP TABLE 的語(yǔ)法來(lái)讓我們清除表格。 DROP TABLE 的語(yǔ)法是: DROP TABLE 表格名 我們?nèi)绻宄谏弦豁?yè)中建立的顧客表格,我們就鍵入: DROP T
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1