


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、本文將介紹數(shù)據(jù)庫定義語言(DDL)用于創(chuàng)建數(shù)據(jù)庫和表格以及修改表格結(jié)果的指令。當(dāng)你使用這些指令時(shí)一定要小尤一它很容易刪去你的數(shù)據(jù)庫中的主要結(jié)構(gòu)令您丟失數(shù)據(jù)。所以,在您開始修改數(shù)據(jù)庫之前,您需要知道數(shù)據(jù)庫是什么。數(shù)據(jù)庫之間的差異本文中的樣品查詢系統(tǒng)遵循SQL92ISO標(biāo)準(zhǔn)。并不是所有的數(shù)據(jù)庫都遵循該標(biāo)準(zhǔn),有些數(shù)據(jù)庫做了改進(jìn),這會產(chǎn)生不可預(yù)料的結(jié)果。創(chuàng)建數(shù)據(jù)庫為了創(chuàng)建表格,你首先需要需要?jiǎng)?chuàng)建一個(gè)可以容納表格的數(shù)據(jù)庫。SQL用于創(chuàng)建數(shù)據(jù)庫的基本語句是:以下是引用片段:CREATEDATABASEdbname;你的數(shù)據(jù)庫用戶必須有建立數(shù)據(jù)庫的適當(dāng)權(quán)限。如果與你有關(guān)的用戶不能發(fā)出用于創(chuàng)建新數(shù)據(jù)庫的命令,
2、要求數(shù)據(jù)庫管理員為你建立數(shù)據(jù)庫,你也作為管理員登錄然后建立數(shù)據(jù)庫并設(shè)置權(quán)限。舉個(gè)例子,用CREATE指令為一個(gè)應(yīng)用程序建立一個(gè)數(shù)據(jù)庫用于顯示一個(gè)目錄:以下是引用片段:CREATEDATABASECatalog;這給你一個(gè)用于在查詢時(shí)與其它表格區(qū)分的表格名字。下一步是創(chuàng)建用于輸入它的表格。創(chuàng)建表格如你所知,表格是有若干個(gè)欄目所組成。當(dāng)創(chuàng)建表格時(shí),你可以定義欄目并分配字段屬性。表格建立后,可以WALTER表格指令來修改它,我們稍后將提到這一點(diǎn)。你可以用下面這條指令來創(chuàng)建數(shù)據(jù)庫,命令行的參數(shù)為表格名字、欄目名字,還有每一欄的數(shù)據(jù)類型。以下是引用片段:CREATETABLEtable_name(col
3、umn1data_type,column2data_type,column3data_type);不同的數(shù)據(jù)庫提供商的標(biāo)準(zhǔn)差別很大。你的幫助文檔中應(yīng)該有一段詳細(xì)說明如何使用每一種數(shù)據(jù)、接受何種參數(shù)。以下是引用片段:CharChar(8)它包含了一個(gè)固定長度的字符串,其值常常是字符串長度。VarcharVarchar(128)它包含了一個(gè)長度不大于指定值的長度可變的字符串。IntInt(32)這是一個(gè)不大于指定值得整數(shù),也做Number或Integer。DecimalDecimal(12,2)這是一個(gè)總位數(shù)和小數(shù)點(diǎn)后位數(shù)不大于指定值得小數(shù),也被稱為Numeric或Number。BinaryBin
4、ary用于存儲二進(jìn)制對象,在數(shù)據(jù)庫中它一般不可分解和顯示,也稱為Raw或Blob。BooleanBoolean用來只是真或假,也成為Bit或Byte。通用數(shù)據(jù)類型在本例中,我們建立了一個(gè)存放庫存商品信息的表格。所用到的欄目和數(shù)據(jù)類型如表B所示:以下是引用片段:欄目名稱:proddprod_colorprod_descrprod_size數(shù)據(jù)類型:Int(16)Varchar(20)Varchar(255)Decimal(8,2)在本例中,我使用了三種基本數(shù)據(jù)類型;然而,在實(shí)際使用時(shí),根據(jù)數(shù)據(jù)庫支持的內(nèi)容,我可能還用用上inyint、文本和mediumtext數(shù)據(jù)類型。發(fā)出如下指令來建立表格:以
5、下是引用片段:CREATETABLEProducts(prod_idINT(16),prod_colorVARCHAR(20),prod_descrVARCHAR(255),prod_sizeDECIMAL(8,2);如果這些指令順利完成,你就可以在表格中正常地插入信息。除了數(shù)據(jù)類型,你還可以在創(chuàng)建表格時(shí)定義自動(dòng)增量字段auto-incrementedfield)、關(guān)鍵字、索引和特殊數(shù)值限制。在表格定義時(shí),這些參數(shù)與數(shù)據(jù)類型一同傳遞。如果在創(chuàng)建表格Product時(shí)定義具有特殊數(shù)值限制的自動(dòng)增量prod_id,命令如下:以下是引用片段:CREATETABLEProducts(prod_idINT
6、(16)AUTO_INCREMENT,prod_colorVARCHAR(20),prod_descrVARCHAR(255),prod_sizeDECIMAL(8,2),UNIQUE(prod_id);如果把prodd做為索引字段定義,可以用CREATEINDEX:以下是引用片段:CREATEINDEXProdIndexONProduct(prod_id);這里有必要重申:數(shù)據(jù)庫提供商在關(guān)鍵字的處理上有所不同。所以,具體情況請參考你的數(shù)據(jù)庫提供商的文檔。修改表格當(dāng)你開始對表格進(jìn)行操作時(shí),你也許覺得有必要修改表格的結(jié)構(gòu)、字段類型等等。在前面,我強(qiáng)烈建議你避免在生產(chǎn)環(huán)境(productionen
7、vironment)這么做。因?yàn)橛行┎僮鳎缣砑?、刪除和修改字段可能會刪除或破壞相關(guān)字段中的數(shù)據(jù)。好,現(xiàn)在讓我們看看如何修改表格。首先,在表格Product中加入一欄。你可以指定該欄插入的相對其它欄的位置,也可以讓它插到表格末端(默認(rèn)):以下是引用片段:ALTERTABLEProductADDprod_nameVARCHAR(20)AFTERprod_id用類似的語句刪除一個(gè)欄目:以下是引用片段:ALTERTABLEProductDROPprod_size;最后,更改一個(gè)欄目的數(shù)據(jù)類型:以下是引用片段:ALTERTABLEProductCHANGEprod_colorprod_color_id
8、INT(20);現(xiàn)在,你的表格如表C所加:以下是引用片段:欄目名稱:proddprod_nameprod_color_idprod_descr數(shù)據(jù)類型:Int(16)Varchar(20)Int(20)Varchar(255)注意,有些數(shù)據(jù)庫不支持關(guān)鍵字DROP。另外,如果你改變現(xiàn)有的某一欄的數(shù)據(jù)類型,大多數(shù)數(shù)據(jù)庫會試圖轉(zhuǎn)化該欄目現(xiàn)有數(shù)據(jù)的數(shù)據(jù)類型。然而,如果是轉(zhuǎn)為一個(gè)不支持的數(shù)據(jù)類型,數(shù)據(jù)就有可能丟失。舉例來說,如果把一個(gè)類型為/archar的包含人名字的字段改為Int類型,轉(zhuǎn)換的結(jié)果可能是整型的默認(rèn)值。刪除表格和數(shù)據(jù)庫在刪除表格和數(shù)據(jù)庫之前,你需要確保丟失這些數(shù)據(jù)不會造成惡果。如果你刪除數(shù)
9、據(jù)庫,庫中的所有表格和內(nèi)容都會被清除。如果你刪除一個(gè)表格,表格中的所有內(nèi)容都會丟失,但是庫中的其它表格沒有影響。在刪除表格或整個(gè)欄目之前,你必須清楚數(shù)據(jù)庫的結(jié)構(gòu)。如果你進(jìn)入一個(gè)已經(jīng)存在的數(shù)據(jù)庫并錯(cuò)誤刪除了某個(gè)元素,可能會影響到促發(fā)條件(?trigger)、存儲過程和視圖。有些數(shù)據(jù)庫支持用關(guān)鍵字RESTRICT和CASCADE去預(yù)防由于刪除表格帶來的損失。RESTRICT一般按默認(rèn)設(shè)置,預(yù)防丟失表格,而CASCADE用于刪除與該表格有關(guān)的實(shí)體?,F(xiàn)在上面建立的表格Product是可以被刪除的,我們開始刪除它:以下是引用片段:DROPTABLEProduct;現(xiàn)在刪除數(shù)據(jù)庫:以下是引用片段:DROPDATABASECatalog;大多數(shù)數(shù)據(jù)庫軟件提供商支持DROPDATABASE命令,盡管它是在SQL99標(biāo)準(zhǔn)中被定義而不是SQL92。部分?jǐn)?shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020-2022年北京市初三一模道德與法治試題匯編:做守法的公民
- 廣東省深圳市寶安區(qū)文匯學(xué)校2019-2020學(xué)年八年級第二學(xué)期(3月份)月考數(shù)學(xué)試卷-含解析
- 物理-陜西省安康市2025屆高三下學(xué)期第二次質(zhì)量聯(lián)考(安康二模)試題和答案
- 油漆噴涂施工方案
- 座椅安裝施工方案
- 職業(yè)西藥師知識培訓(xùn)課件
- 北京征地拆遷合同范例
- 勞務(wù)分包安全合同范例
- 農(nóng)業(yè)社團(tuán)實(shí)踐與體驗(yàn)安排計(jì)劃
- 人力資源部的內(nèi)部安全管理計(jì)劃
- 《食品安全抽樣檢驗(yàn)工作規(guī)范》附件文書2024
- 《數(shù)據(jù)庫應(yīng)用基礎(chǔ)(Access 2010)》中職全套教學(xué)課件
- 2024兒童青少年抑郁治療與康復(fù)痛點(diǎn)調(diào)研報(bào)告 -基于患者家長群體的調(diào)研
- 蕪湖2024年安徽蕪湖傳媒中心招聘編外工作人員5人筆試歷年典型考題及考點(diǎn)附答案解析
- AED使用指南課件
- JT-T-445-2021汽車底盤測功機(jī)
- 醫(yī)療場所消防安全檢查
- 江蘇省建筑與裝飾工程計(jì)價(jià)定額(2014)電子表格版
- 我畫的動(dòng)漫形象說課
- 會計(jì)科研方法與研究前沿
- 東北三省三校2024年高三二模(第二次聯(lián)合模擬考試)英語試卷(含標(biāo)準(zhǔn)答案)
評論
0/150
提交評論