




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
3.3
SQL的數(shù)據(jù)定義功能本章主要內(nèi)容:(1)SQL數(shù)據(jù)庫的體系結(jié)構(gòu)、SQL的主要功能、SQL語法基礎(chǔ)(2)SQL的常用數(shù)據(jù)類型和常用函數(shù)(3)SQL定義功能:創(chuàng)建(Create)、修改(Alter)、刪除(Drop)(4)數(shù)據(jù)更新:插入(Insert)、修改(Update)、刪除(Delete)(5)數(shù)據(jù)查詢:Select<列名>From<表名>Where<條件表達式>3.3
SQL的數(shù)據(jù)定義功能
SQL的數(shù)據(jù)定義功能包括定義數(shù)據(jù)庫、基本表、視圖、索引等。由于視圖是基本表的虛擬表,索引是依附基本表的,SQL一般不提供對視圖、索引的修改功能。用戶如果想修改,可以先刪除,再新建。序號操作對象創(chuàng)建修改刪除1數(shù)據(jù)庫CreateDatabase數(shù)據(jù)庫名AlterDatabase數(shù)據(jù)庫名DropDatabase數(shù)據(jù)庫名2基本表CreateTable表名AlterTable表名DropTable表名
3視圖CreateView視圖名DropView視圖名4索引CreateIndex索引名DropIndex索引名3.3
SQL的數(shù)據(jù)定義功能在SQL語句中,有關(guān)約定符號及語法規(guī)定的說明:(1)語句格式中,尖括號“<>”中的內(nèi)容,為用戶必須輸入的數(shù)據(jù)庫對象名;中括號“[]”中的內(nèi)容為任選項;大括號“{}”或豎線“|”中的內(nèi)容為必選項,即必選其中之一項。
(2)SQL語法中,多個數(shù)據(jù)項的之間的分隔符為“,”,字符串常數(shù)的界定符為一對單引號“’’”,注釋用“/*注釋內(nèi)容*/”。SQL語句的結(jié)束符為分號“;”。
(3)在SQL語句中,英文字母大小寫均可以,不敏感,一般首寫字母用大寫。所有的約定符號中,只能在英文輸入狀態(tài)下輸入,不能在中文狀態(tài)下輸入。
1.數(shù)據(jù)庫的創(chuàng)建3.3.1數(shù)據(jù)庫(DataBase)的創(chuàng)建、刪除創(chuàng)建數(shù)據(jù)庫的語法如下,其中,尖括號
<>為語法格式,表示里面的參數(shù)必須輸入:
Createdatabase<數(shù)據(jù)庫名>;例3-1在MySQL中,創(chuàng)建一個名稱為Student的數(shù)據(jù)庫,如圖3-9所示,語句為:3.3.1數(shù)據(jù)庫(DataBase)的創(chuàng)建、刪除CreateDatabasestudent;/*創(chuàng)建一個學生數(shù)據(jù)庫,數(shù)據(jù)庫名為:student*/數(shù)據(jù)庫Student創(chuàng)建后的路徑:
2.數(shù)據(jù)庫的刪除3.3.1數(shù)據(jù)庫(DataBase)的創(chuàng)建、刪除如果一個數(shù)據(jù)庫不需要了,可將其刪除,語法:
Dropdatabase<數(shù)據(jù)庫名>;
例如,刪除上面創(chuàng)建的student數(shù)據(jù)庫:
Dropdatabasestudent;
一個數(shù)據(jù)庫被刪除后,其所含資源都全部被刪除,如果原先沒有做數(shù)據(jù)庫備份,則將無法恢復。
1.基本表的創(chuàng)建3.3.2基本表(Table)的創(chuàng)建、修改和刪除
CreateTable<表名>/*-----------------表的中文說明
-------------------------*/( <列名1><數(shù)據(jù)類型><notnull|null>[default<默認值>], <列名2><數(shù)據(jù)類型><notnull|null>[列級完整性約束條件],…,Constraint<主鍵名>Primarykey(列名1,列名2,…,列名n)/*主鍵定義*/[,Constraint<外鍵名1>Foreignkey(列名1)references<表名(列名1)>]/*外鍵定義*/[,Constraint<外鍵名2>Foreignkey(列名2)references<表名(列名2)>]/*外鍵定義*/);例3-2下面是教學、借(還)書數(shù)據(jù)庫的關(guān)系模式圖,如圖3-10所示。其中,一個學生可以選修多門課程,學生選修的課都有一個成績,每門課程可被多個學生選修,每門課只能安排一個教師上課,一個教師可以上多門課。一個學生或教師可以借多本書,一本書可以被多人借,但借出去的書,只有把書還回來后,才可以外借。根據(jù)以上情況,創(chuàng)建基本表。3.3.2基本表(Table)的創(chuàng)建、修改和刪除3.3.2基本表(Table)的創(chuàng)建、修改和刪除3.3.2基本表(Table)的創(chuàng)建、修改和刪除12345678910111213CreateTableT/*-------------------------------教師基本信息表
-------------------------------*/(tNochar(4)notnullprimarykey,/*教師編號,設(shè)為主鍵*/tNamevarchar(30)notnull,/*教師姓名*/Title varchar(10)null/*職稱,最后1行不能有逗號*/);CreateTableC/*-------------------------------課程基本信息表
-------------------------------*/(cNochar(4)notnullprimarykey,/*課程編號*/cNamevarchar(30)notnull,/*課程名稱*/tNochar(4)null,/*教師編號*/constraintc_fkforeignkey(tNo)referencesT(tNo)/*定義外鍵,最后1行不能有逗號*/);3.3.2基本表(Table)的創(chuàng)建、修改和刪除14151617181920212223CreateTableS/*-------------------------------學生基本信息表
-------------------------------*/(sNochar(8)notnullprimarykey,/*學號*/sNamevarchar(30)notnull,/*姓名*/sexchar(1)notnulldefault'M',/*性別:M-男,F(xiàn)-女*/Ageintnotnulldefault0,/*年齡*/dtBirthDatedatenotnull,/*出生日期*/professvarchar(20)null,/*專業(yè)*/check(sexin('M','F'))/*自定義約束:sex只能取M或F*/);3.3.2基本表(Table)的創(chuàng)建、修改和刪除2425262728293031323334353637383940CreateTableSC/*-------------------------------學生選課信息表
-------------------------------*/(sNochar(8)notnull,/*學號*/cNochar(4)notnull,/*課程編號*/Scoredecimal(6,2)notnulldefault0,/*考試成績*/Check(Scorebetween0and100),/*MySQL8.0才支持Check功能*/constraintsc_pkprimarykey(sNo,cNo),/*定義主鍵*/constraintsc_fk1foreignkey(sNo)referencesS(sNo),/*定義外鍵:學號*/constraintsc_fk2foreignkey(cNo)referencesC(cNo)/*定義外鍵:課程號*/);CreateTableBook/*--------------------------圖書基本信息表
----------------------------*/(cBookNochar(8)notnullprimarykey,/*圖書編號*/vcBookNamevarchar(60)notnull,/*書名*/vcPYCode varchar(50)null,/*拼音碼*/cStatus char(1) notnulldefault'1'/*當前狀態(tài):1-在庫,2-借出*/);3.3.2基本表(Table)的創(chuàng)建、修改和刪除414243444546474849505152CreateTablesmBorrow/*---------------學生、教師借(還)書信息表
-----------------*/(iID intnotnullauto_increment,/*自動流水號,從1開始,每插入1條記錄加1*/dtBorrowDatedatetimenotnulldefaultnow(), /*借書日期*/cBookNochar(8)notnull,/*圖書編號*/cBorrowNochar(8)notnull,/*借閱人編號*/cTypechar(1)notnulldefault'1',/*借閱人類別:1-學生,2-教師*/cReturn char(1) notnulldefault'0',/*是否還書:1-yes,0-no*/dtReturnDatedatetimenull, /*還書日期*/constraintsmBorrow_pkprimarykey(iID),/*定義主鍵*/constraintsmBorrow_fkforeignkey(cBookNo)referencesBook(cBookNo)/*外鍵:書號*/);3.3.2基本表(Table)的創(chuàng)建、修改和刪除基本表創(chuàng)建后的物理文件:2.基本表的修改3.3.2基本表(Table)的創(chuàng)建、修改和刪除隨著應(yīng)用環(huán)境和需求的變化,有時已經(jīng)投入運行的數(shù)據(jù)庫系統(tǒng),需要修改基本表的結(jié)構(gòu)。例如,某些列的長度不夠、或約束需要修改、或要增加新的列、或刪除已有的完整性約束等。SQL可通過AlterTable語句來完成,其語法為:AlterTable<表名>Add<新列名><數(shù)據(jù)類型><notnull|null>[default<默認值>]
/*增加列名*/
AlterTable<表名>Modify<列名><數(shù)據(jù)類型><notnull|null>[default<默認值>]
/*修改列名*/AlterTable<表名>Drop<約束條件>/*刪除約束*/3.3.2基本表(Table)的創(chuàng)建、修改和刪除例如,在例3.2中,將課程名稱的長度修改為50個字符,語法為:
AltertableCmodifycNamevarchar(50)notnull;
在學生表中,增加一列:vcMemo,記載學生的備注信息,語法為:
AltertableSaddvcMemovarchar(250)null;3.3.2基本表(Table)的創(chuàng)建、修改和刪除3.基本表的刪除當一張表不再需要時,可用SQL語句Droptable將其刪除?;颈硪坏┍粍h除,依附在該表中的數(shù)據(jù)、約束、索引都將被刪除,且不可恢復。語法為:
Droptable<表名>[Restrict|Cascade]選項Restrict表示,如果被刪除的表上,存在有約束,則不允許直接刪除,需要先把相關(guān)約束全部刪除;選項Cascade則不需要,它可把表上的相關(guān)約束及表一次性全部刪除。
如果該表是參照表,即它的主鍵是另一表的外鍵,則不允許刪除。必須先把被參照表的外鍵刪除,才允許刪除參照表。3.3.3索引的創(chuàng)建和刪除當表的行數(shù)比較大時,數(shù)據(jù)檢索會比較耗時。建立索引可以加快數(shù)據(jù)查詢速度
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單面窗戶采購合同范本
- 司機協(xié)議合同范例
- 業(yè)務(wù)員簡單辭職報告
- 通信網(wǎng)絡(luò)管理員高級考試模擬題含參考答案
- 辦卡會員合同范本
- 農(nóng)村固體廢物處理合同范本
- 一周總結(jié)30篇模板
- 壓路機租用合同范本
- 公司出售寫合同范例
- 2014旅游協(xié)議合同范本
- GB/T 18684-2002鋅鉻涂層技術(shù)條件
- 既有住宅加裝電梯業(yè)主意愿征集表
- 第九講:信息與大數(shù)據(jù)倫理問題-工程倫理
- 四年級美術(shù)素養(yǎng)附答案
- 2021年全國中學生天文奧林匹克競賽預(yù)賽試題及答案
- 四年級下冊音樂教案-2.2我們美麗的祖國 |接力版
- Quantum軟件培訓手冊
- 走近人工智能
- 服裝市場營銷項目2服裝市場營銷環(huán)境分析課件
- 中國傳媒大學《當代電視播音主持教程》課件
- 《納米復合材料》第2章 納米復合材料概論
評論
0/150
提交評論