




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2:17vSQL的主要功能DDLDDL(Data Definition LanguageData Definition Language) 數(shù)據(jù)定義語(yǔ)言數(shù)據(jù)定義語(yǔ)言用于定義關(guān)系數(shù)據(jù)庫(kù)的模式、外模式和內(nèi)模式,以實(shí)現(xiàn)用于定義關(guān)系數(shù)據(jù)庫(kù)的模式、外模式和內(nèi)模式,以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)基本表、視圖及索引文件的定義、修改和刪除對(duì)數(shù)據(jù)庫(kù)基本表、視圖及索引文件的定義、修改和刪除等操作。最常用的等操作。最常用的DDLDDL語(yǔ)句是語(yǔ)句是CREATECREATE、DROPDROP和和ALTERALTER命命令。令。用于完成數(shù)據(jù)查詢和數(shù)據(jù)更新操作。其中數(shù)據(jù)更新指對(duì)用于完成數(shù)據(jù)查詢和數(shù)據(jù)更新操作。其中數(shù)據(jù)更新指對(duì)數(shù)據(jù)進(jìn)行插入、
2、刪除和修改操作。最常使用的數(shù)據(jù)進(jìn)行插入、刪除和修改操作。最常使用的DMLDML語(yǔ)句語(yǔ)句是是SELECTSELECT、INSERTINSERT、UPDATEUPDATE和和DELETEDELETE命令。命令。DCLDCL(Data Control LanguageData Control Language)數(shù)據(jù)控制語(yǔ)言)數(shù)據(jù)控制語(yǔ)言用于控制對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),服務(wù)器的關(guān)閉、啟動(dòng)等操作。用于控制對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),服務(wù)器的關(guān)閉、啟動(dòng)等操作。常使用的常使用的DCLDCL命令有:命令有:GRANTGRANT、REVOKEREVOKE等。等。SQL-概述2:17SQL-概述vSQL的特點(diǎn)語(yǔ)言簡(jiǎn)潔,風(fēng)格統(tǒng)一,易學(xué)
3、易懂語(yǔ)言簡(jiǎn)潔,風(fēng)格統(tǒng)一,易學(xué)易懂高度非過(guò)程化高度非過(guò)程化2:17vSQL對(duì)象命名約定 SQLSQL對(duì)象包括數(shù)據(jù)庫(kù)、表、視圖、屬性名等。這些對(duì)象名必須符合一定規(guī)則對(duì)象包括數(shù)據(jù)庫(kù)、表、視圖、屬性名等。這些對(duì)象名必須符合一定規(guī)則或約定,一般應(yīng)遵守下列規(guī)則?;蚣s定,一般應(yīng)遵守下列規(guī)則。數(shù)據(jù)對(duì)象名可以為數(shù)據(jù)對(duì)象名可以為1-30個(gè)字符。個(gè)字符。數(shù)據(jù)對(duì)象名應(yīng)以字母開(kāi)頭,其余字符可以由字母、數(shù)字、下劃線組成。數(shù)據(jù)對(duì)象名應(yīng)以字母開(kāi)頭,其余字符可以由字母、數(shù)字、下劃線組成。在在SQLSQL語(yǔ)句語(yǔ)法格式中的一些約定符號(hào)語(yǔ)句語(yǔ)法格式中的一些約定符號(hào)尖括號(hào)尖括號(hào)“”中的內(nèi)容為實(shí)際語(yǔ)義。中的內(nèi)容為實(shí)際語(yǔ)義。中括號(hào)中括號(hào)“
4、 ”中的內(nèi)容為任選項(xiàng)。中的內(nèi)容為任選項(xiàng)。,. . .意思是意思是“等等等等”,即前面的項(xiàng)可以重復(fù)。,即前面的項(xiàng)可以重復(fù)。SQL-概述2:17大括號(hào)大括號(hào)“”與豎線與豎線“|”表明此處為選擇項(xiàng),在所列出的各項(xiàng)中僅需選表明此處為選擇項(xiàng),在所列出的各項(xiàng)中僅需選擇一項(xiàng)。擇一項(xiàng)。SQL中的數(shù)據(jù)項(xiàng)(包括列項(xiàng)、表和視圖)分隔符為中的數(shù)據(jù)項(xiàng)(包括列項(xiàng)、表和視圖)分隔符為“,”;其字符串常;其字符串常數(shù)的定界符用數(shù)的定界符用單引號(hào)單引號(hào) 表示表示。v在編寫(xiě)SQL語(yǔ)句時(shí),遵從以下準(zhǔn)則: SQL語(yǔ)句對(duì)大小寫(xiě)不敏感語(yǔ)句對(duì)大小寫(xiě)不敏感 為了提高為了提高SQL語(yǔ)句的可讀性,子句開(kāi)頭的關(guān)鍵字通常采用語(yǔ)句的可讀性,子句開(kāi)頭的
5、關(guān)鍵字通常采用大寫(xiě)形式。大寫(xiě)形式。 SQL語(yǔ)句可寫(xiě)成一行或多行,習(xí)慣上每個(gè)子句占用一行。語(yǔ)句可寫(xiě)成一行或多行,習(xí)慣上每個(gè)子句占用一行。 關(guān)鍵字不能在行與行之間分開(kāi),并且很少采用縮寫(xiě)形式。關(guān)鍵字不能在行與行之間分開(kāi),并且很少采用縮寫(xiě)形式。 SQL語(yǔ)句的結(jié)束符為分號(hào)語(yǔ)句的結(jié)束符為分號(hào)“;”,分號(hào)必須放在語(yǔ)句中的,分號(hào)必須放在語(yǔ)句中的最后一個(gè)子句后面,但可以不在同一行。最后一個(gè)子句后面,但可以不在同一行。SQL-概述2:17 SQL語(yǔ)言的數(shù)據(jù)定義功能包括定義數(shù)據(jù)庫(kù)、定義基本表、定義索引和定義視圖。 表表3-1 SQL3-1 SQL的數(shù)據(jù)定義語(yǔ)的數(shù)據(jù)定義語(yǔ)句句操作對(duì)象 操作方式 創(chuàng)建語(yǔ)句 刪除語(yǔ)句 修
6、改語(yǔ)句 數(shù)據(jù)庫(kù) CREATE DATABASECREATE DATABASEDROP DATABASE DROP DATABASE ALTER DATABASEALTER DATABASE基本表 CREATE TABLE CREATE TABLE DROP TABLE DROP TABLE ALTER TABLE ALTER TABLE 索引 CREATE INDEX CREATE INDEX DROP INDEX DROP INDEX 視圖 CREATE VIEW CREATE VIEW DROP VIEW DROP VIEW ALTER VIEWALTER VIEW數(shù)據(jù)定義2:17v創(chuàng)建數(shù)
7、據(jù)庫(kù) SQLSQL使用命令使用命令CREATE DATABASECREATE DATABASE創(chuàng)建數(shù)據(jù)庫(kù),其一般創(chuàng)建數(shù)據(jù)庫(kù),其一般語(yǔ)法如下:語(yǔ)法如下: CREATE DATABASE CREATE DATABASE ; SQLSQL使用命令使用命令DROP DATABASEDROP DATABASE刪除一個(gè)或多個(gè)數(shù)據(jù)庫(kù),刪除一個(gè)或多個(gè)數(shù)據(jù)庫(kù),其一般語(yǔ)法如下:其一般語(yǔ)法如下: DROP DATABASE DROP DATABASE 數(shù)據(jù)庫(kù)的創(chuàng)建與刪除2:17v創(chuàng)建基本表CREATE TABLE ( , , ,); 是指要?jiǎng)?chuàng)建的基本表的名稱,該名稱應(yīng)符合具體是指要?jiǎng)?chuàng)建的基本表的名稱,該名稱應(yīng)符合具
8、體DBMSDBMS的標(biāo)識(shí)符的命名規(guī)則。的標(biāo)識(shí)符的命名規(guī)則。 指的是表的屬性名稱。指的是表的屬性名稱。 表的創(chuàng)建與刪除2:17表的創(chuàng)建與刪除 不同不同DBMSDBMS支持的數(shù)據(jù)類型不完全相同,下表列出的是支持的數(shù)據(jù)類型不完全相同,下表列出的是MS SQL SERVER SQLMS SQL SERVER SQL支支持的主要數(shù)據(jù)類型持的主要數(shù)據(jù)類型大類大類類型類型說(shuō)明說(shuō)明整數(shù)整數(shù)bit取值范圍:取值范圍:01Tinyint字節(jié)型:字節(jié)型:0255Smallint短整數(shù):短整數(shù):2字節(jié)字節(jié)Int整數(shù):整數(shù):4字節(jié)字節(jié)bigint長(zhǎng)整數(shù):長(zhǎng)整數(shù):8字節(jié)字節(jié)實(shí)數(shù)實(shí)數(shù)Smallmoney短貨幣型短貨幣型:4
9、字節(jié)字節(jié)Money貨幣型:貨幣型:8字節(jié)字節(jié)Numeric(p,d)p:精度,精度,d:小數(shù)位小數(shù)位Decimal(p,d)長(zhǎng)度取決于長(zhǎng)度取決于p,dFloat(n)長(zhǎng)度取決于長(zhǎng)度取決于n,n25時(shí)等同于時(shí)等同于Realreal4字節(jié)字節(jié)2:17表的創(chuàng)建與刪除大類大類類型類型說(shuō)明說(shuō)明時(shí)間日時(shí)間日期期Datetime8字節(jié)字節(jié)Smalldatetime4字節(jié)字節(jié)字符串字符串Char(n)N個(gè)字節(jié)個(gè)字節(jié)Varchar(n|max)最多最多N+2個(gè)字節(jié)個(gè)字節(jié),變長(zhǎng)變長(zhǎng)雙字節(jié)雙字節(jié)字符串字符串Nchar(n)UNICODE UCS-2 ,2n個(gè)字節(jié)個(gè)字節(jié)Nvarchar二進(jìn)制二進(jìn)制串串binary (
10、 n ) varbinary ( n | max ) 2:17表的完整性約束條件v 完整性約束條件分為列級(jí)完整性約束條件和表級(jí)完整性完整性約束條件分為列級(jí)完整性約束條件和表級(jí)完整性約束條件約束條件,區(qū)別區(qū)別在于:列級(jí)完整性約束條件只能用于列,在于:列級(jí)完整性約束條件只能用于列,而表級(jí)完整性約束條件能夠用于一張表中的多列。而表級(jí)完整性約束條件能夠用于一張表中的多列。NOT NULL NOT NULL 或或NULLNULL約束約束 UNIQUEUNIQUE約束是惟一性約束。即不允許表中的某一列或約束是惟一性約束。即不允許表中的某一列或者某幾列有重復(fù)的屬性值。者某幾列有重復(fù)的屬性值。DEFAULTD
11、EFAULT約束約束 DEFAULTDEFAULT約束為默認(rèn)值約束,是列級(jí)完整性約束條件。約束為默認(rèn)值約束,是列級(jí)完整性約束條件。當(dāng)向表中插入一個(gè)新行時(shí),如果對(duì)于特定列沒(méi)有指定當(dāng)向表中插入一個(gè)新行時(shí),如果對(duì)于特定列沒(méi)有指定數(shù)值,則使用數(shù)值,則使用DEFAULTDEFAULT子句指定的默認(rèn)值。子句指定的默認(rèn)值。2:17CHECKCHECK約束約束 CHECKCHECK約束是檢驗(yàn)約束,為插入列中的數(shù)據(jù)指定約束條約束是檢驗(yàn)約束,為插入列中的數(shù)據(jù)指定約束條件。件。 PRIMARY KEY PRIMARY KEY 約束即主鍵約束,是表級(jí)完整性約束條約束即主鍵約束,是表級(jí)完整性約束條件。表中的主鍵可以是一
12、列或列組,件。表中的主鍵可以是一列或列組,PRIMARY KEY PRIMARY KEY 約束約束可以使得主鍵的數(shù)值在每一行中各不相同??梢允沟弥麈I的數(shù)值在每一行中各不相同。 注意:注意:PRIMARY KEYPRIMARY KEY約束類似于約束類似于UNIQUEUNIQUE約束,差別在于約束,差別在于PRIMARY KEYPRIMARY KEY約束中的列約束中的列不可以為空。不可以為空。FOREIGN KEYFOREIGN KEY約束約束 FOREIGN KEYFOREIGN KEY約束是參照完整性約束,是用于約束外約束是參照完整性約束,是用于約束外鍵的,也是表級(jí)完整性約束條件。鍵的,也是表
13、級(jí)完整性約束條件。表的完整性約束條件2:17表的創(chuàng)建與刪除v刪除基本表 當(dāng)某個(gè)基本表不再需要時(shí),可以使用當(dāng)某個(gè)基本表不再需要時(shí),可以使用DROP TABLE DROP TABLE 語(yǔ)句語(yǔ)句將它刪除。其一般語(yǔ)法為:將它刪除。其一般語(yǔ)法為: DROP TABLE DROP TABLE ; 該語(yǔ)句一旦執(zhí)行,基本表的定義、數(shù)據(jù)、此表上建立的該語(yǔ)句一旦執(zhí)行,基本表的定義、數(shù)據(jù)、此表上建立的索引和視圖都將自動(dòng)被刪除掉。索引和視圖都將自動(dòng)被刪除掉。2:17表的創(chuàng)建與刪除2:17表的創(chuàng)建v簡(jiǎn)單表的創(chuàng)建-主鍵create table college(col_id varchar(2) not null prim
14、ary key,col_name varchar(40) UNIQUE);允許允許為空為空非空非空單個(gè)字段單個(gè)字段為主鍵為主鍵2:17表的創(chuàng)建v簡(jiǎn)單表的創(chuàng)建-主鍵drop table college;gocreate table college(col_id varchar(2) not null ,col_name varchar(40) not null UNIQUE,constraint pk_college_col_id primary key(col_id,col_name) );約束約束命名,方便刪除命名,方便刪除多個(gè)字段多個(gè)字段為主鍵為主鍵2:17表的創(chuàng)建v簡(jiǎn)單表的創(chuàng)建-主鍵dr
15、op table college;gocreate table college(col_id varchar(2) not null ,col_name varchar(40) UNIQUE);goalter table college add constraint pk_college_col_id primary key(col_id);go2:17表的創(chuàng)建-外鍵create table class(cla_id varchar(6) not null primary key,col_id varchar(2) foreign key references college(col_id)
16、on update cascade on delete cascade,cla_name varchar(40) UNIQUE,tuition smallmoney default 0)Gocascade 表示級(jí)聯(lián)操作,如果主鍵表中被參考字段更新,外鍵表中也更新,主鍵表中的記錄被刪除,外鍵表中該行也相應(yīng)刪除drop table sc 級(jí)聯(lián)更新例子goCREATE TABLE SC ( Sno CHAR(7) NOT NULL, Cno CHAR(6) NOT NULL, Grade TINYINT, ) goalter table sc add constraint pk_sc_sno_cno
17、 primary key(sno,cno);goalter table sc add constraint fk_sc_sno foreign key(sno) references student(sno) on update cascade on delete cascadego alter table sc add constraint fk_sc_cno foreign key(cno) references course(cno) on update cascade on delete cascadegoupdate student set Sno =222 where Sno =
18、0811101 -級(jí)聯(lián)更新select * from studentselect * from sc -0811101的記錄都變?yōu)?:17表的創(chuàng)建-外鍵drop table classgocreate table class(cla_id varchar(6) not null primary key,col_id varchar(2) ,cla_name varchar(40) UNIQUE,tuition smallmoney default 0,constraint fk_class_col_id foreign key(col_id) references college(col_id
19、) on update cascade on delete cascade)Go2:17表的創(chuàng)建-外鍵drop table classgocreate table class(cla_id varchar(6) not null primary key,col_id varchar(2) ,cla_name varchar(40) UNIQUE,tuition smallmoney default 0)goalter table class add foreign key(col_id) references college(col_id) on update cascade on delet
20、e cascadego2:17表的創(chuàng)建-外鍵級(jí)聯(lián)操作insert into college (col_id,col_name) values (60,信息工程學(xué)信息工程學(xué) 院院);insert into college values (80,軟件學(xué)院軟件學(xué)院);Goinsert into class (cla_id,cla_name,col_id,tuition) values (6011,計(jì)算機(jī)應(yīng)用計(jì)算機(jī)應(yīng)用,60,6400);-insert into class values (8020,軟件工程軟件工程,80,10000);insert into class values (8020,8
21、0,軟件工程軟件工程,10000);-insert into class values (8022,80,軟件工程軟件工程,10000);insert into class (cla_id,cla_name,col_id,tuition) values (7060,新聞新聞,70,6600);go2:17表的Check約束create table studentcreate table student( (stu_id stu_id varcharvarchar(16) not null (16) not null primary keyprimary key, ,stu_name stu_name varcharvarchar(16),(16),cla_id cla_id varcharvarchar(6) (6) foreign key references foreign key references classclass(cla_id) (cla_id) sex sex varcharvarchar(2) (2) default default 男男 not null,not null,PostCode PostCode varchar
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- xxx項(xiàng)目可行性研究報(bào)告
- 物聯(lián)網(wǎng)居間服務(wù)協(xié)議
- 園林苗圃建設(shè)可行性報(bào)告
- 礦山油漆施工模板
- 智能停車場(chǎng) 系統(tǒng)
- 片區(qū)開(kāi)發(fā)項(xiàng)目可行性研究報(bào)告
- 低空經(jīng)濟(jì)的未來(lái)發(fā)展前景
- 農(nóng)業(yè)保險(xiǎn)精準(zhǔn)賠付系統(tǒng)實(shí)施方案
- 物流配送形式
- 茶藝師練習(xí)試題附答案(一)
- 2023年陜西高職單招考試語(yǔ)文真題
- 石油焦生產(chǎn)工藝及設(shè)備解讀課件
- 肺炎-疑難病例討論課件
- 2023全國(guó)高中化學(xué)奧林匹克競(jìng)賽預(yù)賽試題及答案
- 音樂(lè)劇悲慘世界歌詞
- 復(fù)合材料鋪層設(shè)計(jì)說(shuō)明
- 戴德梁行物業(yè)培訓(xùn)ppt課件
- GB∕T 16422.3-2022 塑料 實(shí)驗(yàn)室光源暴露試驗(yàn)方法 第3部分:熒光紫外燈
- 煤礦防治水中長(zhǎng)期規(guī)劃2017—2019
- 2022年鄉(xiāng)鎮(zhèn)(街道)執(zhí)法人員資格考試題庫(kù)(含答案)
- 新版廣西大學(xué)畢業(yè)設(shè)計(jì)封面
評(píng)論
0/150
提交評(píng)論