第三章SQL語言初步總結(jié)_第1頁
第三章SQL語言初步總結(jié)_第2頁
第三章SQL語言初步總結(jié)_第3頁
第三章SQL語言初步總結(jié)_第4頁
第三章SQL語言初步總結(jié)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第三章 SQL Server 相關(guān)技術(shù)以及SQL 語言一、SQL Server工具SQL Server提供了一些功能強(qiáng)大、使用方便的數(shù)據(jù)庫工具,主要的工具如下:1、 服務(wù)管理器:功能是啟動(dòng)、停止和暫停SQL Server 服務(wù)器。2、 企業(yè)管理器:是圖形化集成管理具,通過它可以方便的調(diào)用其他的管理工具,有效的配置和管理SQL Server服務(wù)器。3、 查詢分析器:使用方便,界面友好的T-SQL語句的編譯工具,是SQL Server客戶端的主要組成部分。菜單、對象瀏覽、模板等個(gè)部分的使用。4、 導(dǎo)入導(dǎo)出數(shù)據(jù)(DTS):實(shí)現(xiàn)其他類型的數(shù)據(jù)和SQL Servers數(shù)據(jù)之間實(shí)現(xiàn)格式轉(zhuǎn)換。二、 SQL

2、Server數(shù)據(jù)類型SQL Server一共有14種,其中13種可用于字段類型說明。下面是幾種主要的數(shù)據(jù)類型:1、 字符數(shù)據(jù)類型:char、varchar、text。2、 整數(shù)類型:bigint、tinyint、smallint、int。3、 數(shù)據(jù)類型和浮點(diǎn)類型:decimal、numeric、real、float。4、 貨幣類型和時(shí)間、日期類型:smallmoney、money、smalldatatime、datatime。5、 二進(jìn)制類型:binary、varbinary。6、 圖象、文本數(shù)據(jù)類型:image、text。三、 SQL Server數(shù)據(jù)庫的創(chuàng)建和管理1、 SQL Server

3、數(shù)據(jù)庫介紹:SQL Server數(shù)據(jù)庫以文件形式存儲(chǔ)信息。數(shù)據(jù)庫中有三類文件、兩種文件組:主文件 后綴 .mdf 一個(gè)數(shù)據(jù)庫中有且僅有一個(gè)主文件;用于存放數(shù)據(jù)庫的動(dòng)態(tài)信息以及數(shù)據(jù)。輔助(次)文件 后綴 .ndf 一個(gè)數(shù)據(jù)庫中可以有0n個(gè)輔助文件;只存放數(shù)據(jù)。日志文件 后綴 .ldf 一個(gè)數(shù)據(jù)庫中可以有1n個(gè)日志文件。存放數(shù)據(jù)庫的操作軌跡。數(shù)據(jù)庫中如果文件很多,為了便于管理可以根據(jù)需要分組。包含有主文件的那個(gè)組稱為“主文件組”,其他的文件組只包含有輔助文件,稱為“輔助文件組”或“次文件組”,日志文件不分組。數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu):SQL Server數(shù)據(jù)庫中頁和范圍是最重要的兩種存儲(chǔ)單位。頁是最基本的

4、存儲(chǔ)單元,每頁有8KB。范圍(Extent)是SQL Server分配給表和索引的最基本的單位,每個(gè)范圍包括連續(xù)的8個(gè)頁(64KB),如果一個(gè)范圍中只存放一個(gè)數(shù)據(jù)庫對象,此范圍稱為“統(tǒng)一范圍”,如果存放多個(gè)數(shù)據(jù)庫對象,此范圍稱為“混合范圍”。2、SQL Server數(shù)據(jù)庫建立: 可以使用企業(yè)管理器建立數(shù)據(jù)庫;也可以用SQL 命令建立數(shù)據(jù)庫: 例:CREATE DATABASE studentON ( NAME =student_data, FILENAME = 'e:program filesmicrosoft sql servermssqldatastudent_data1.mdf&

5、#39;, SIZE = 1MB, MAXSIZE = 20MB, FILEGROWTH = 10%) LOG ON ( NAME =student_log, FILENAME = 'e:program filesmicrosoft sql servermssqldatastudent_log.ldf', SIZE = 1MB, MAXSIZE = 10MB, FILEGROWTH = 10%)GO上例建立STUDENT數(shù)據(jù)庫,其中建立主文件和一個(gè)日志文件。 其中NAME邏輯文件名; FILENAME物理文件名; SIZE文件初始大??; MAXSIZE文件最大空間。如果沒有此項(xiàng)

6、,文件可無限增長到磁盤可用空間竭盡。 FILEGROWTH文件增長的大小??梢杂贸跏即笮〉?表示,也可以用MB表示。3、刪除數(shù)據(jù)庫:用企業(yè)管理器或DROP命令刪除數(shù)據(jù)庫。四、 SQL Server數(shù)據(jù)表的創(chuàng)建和管理1、 使用企業(yè)管理器創(chuàng)建與管理表a) 定義字段:字段名、類型、長度、精度、NULL 設(shè)定、默認(rèn)值、標(biāo)識(shí)等;b) 設(shè)置約束;主鍵、外鍵、檢查、唯一、非空、默認(rèn);c) 修改數(shù)據(jù)表:表更名、插入新字段、刪除字段、修改表格屬性、修改約束;d) 刪除表;如果需要?jiǎng)h除的表是有關(guān)聯(lián)的表,則必須先刪除與之關(guān)聯(lián)的表,才可以完成該表的刪除。2、 使用SQL 語句創(chuàng)建和管理表a) 建立表:CREATE T

7、ABLE例如:create table s_exam(g_id uniqueidentifier not null default newid(),stu_id smallint primary key, -主鍵-stu_name varchar(10) not null unique, -非空、唯一-stu_sex char(2) default '男', -默認(rèn)-stu_birth smalldatetime check(stu_birth<getdate(), -核查-dep_id smallint foreign key references depart(id)

8、 -外鍵-b)修改表的命令;ALTER TABLE可以修改上面提及的與表有關(guān)的所有項(xiàng)目。(具體項(xiàng)目請參考書)c)刪除表命令;DROP TABLE五、 查詢1、 SELECT語句基本結(jié)構(gòu)2、 SELECT子句;DISTINCT、TOP關(guān)鍵字的使用,輸出列名的設(shè)定,計(jì)算列。3、 FROM子句:表的別名設(shè)定;如果表名中包含了關(guān)鍵字,則表名必須加 。例:FROM employee e,order details od其中e、od是表的別名4、 WHERE子句: 比較查詢(各種條件運(yùn)算符和邏輯運(yùn)算符),范圍查詢(BETWEENAND),列表查詢(IN),模糊查詢(LIKE,其中有%、_、 、四個(gè)通配符)

9、,空值判斷查詢(IS NULL)。5、 GROUP BY子句:用GROUP BY子句可以把查詢出的數(shù)據(jù)進(jìn)行分類后再使用統(tǒng)計(jì)函數(shù)匯總,一起使用的關(guān)鍵字為HAVING、ALL、ROLLUP、CUBE。6、 ORDER BY子句:給查詢結(jié)果排序。可以是升序(ASC),也可以是降序(DESC)排列,也可以依據(jù)多個(gè)字段排序。7、 集合運(yùn)算子句:可以將兩個(gè)具有相同結(jié)構(gòu)、相同字段數(shù)、對應(yīng)字段類型相同的兩個(gè)結(jié)果集合進(jìn)行集合運(yùn)算。(UIION、INTERSECT、EXCEPT)8、 使用匯總函數(shù):查詢輸出列中可以用sum( )、avg( )、min( )、max( )、count( )等統(tǒng)計(jì)函數(shù),一般和GROU

10、P BY一起使用。9、 多表查詢;內(nèi)連接(INNER JOINON),左外連接(LEFT OUTER JOINON),右外連接(RIGHT OUTER JOINON),完整連接(FULL JOINON),交叉連接(CROSS JOINON)。也可以用傳統(tǒng)的SQL多表查詢,在FROM中列出多個(gè)表,在WHERE中指定連接的條件,這種形式其實(shí)是對迪卡爾乘積進(jìn)行條件查詢。10、嵌套查詢:子查詢通常包含一定的組件。單值返回子查詢:使用比較運(yùn)算符、BETWEENAND多值返回子查詢:使用比較運(yùn)算符和ANY、ALL相關(guān)子查詢:EXISTS(NOT EXISTS),此類查詢子查詢執(zhí)行次數(shù)一般與外層查詢有關(guān)11

11、、更改表內(nèi)數(shù)據(jù):INSERT、UPDATE、DELETE。六、 視圖1、 視圖的概念:使用視圖的優(yōu)點(diǎn)有兩個(gè)簡化數(shù)據(jù)查詢和處理操作、從一定程度上保護(hù)數(shù)據(jù)。2、 創(chuàng)建視圖(CREATE VIEW AS),在創(chuàng)建視圖中的查詢語句有一定的限制;修改視圖(ALTER VIEW AS),刪除視圖(DROP VIEW)。3、 使用視圖操作表數(shù)據(jù):檢索數(shù)據(jù),和基本表的查詢一樣用法;通過視圖添加數(shù)據(jù),添加的數(shù)據(jù)實(shí)際上是加在視圖所基于的基本表中。更新視圖中的數(shù)據(jù);刪除視圖中的數(shù)據(jù),這些操作語句和基本表操作一樣,但有一定的限定條件(具體的限定條件請參考教材),因?yàn)橐晥D是一虛表,對它的操作實(shí)質(zhì)是加在基本表上的操作,但

12、視圖可能是多張表的子集,所以修改不當(dāng)會(huì)引起錯(cuò)誤。*注:上面是對本章的內(nèi)容的小結(jié),只寫出了提綱,請對照教材或參考書中詳細(xì)內(nèi)容。附:課堂教學(xué)中所用表格部門表部門編號(hào)部門名稱部門地址部門負(fù)責(zé)人電話直接上級(jí)P00經(jīng)緯貿(mào)易公司公司大樓303室0011303P10財(cái)務(wù)處公司大樓203室1011203p00P11財(cái)務(wù)處計(jì)劃科公司大樓202室1021202p10P12財(cái)務(wù)處記帳科公司大樓204室1041204p10P13財(cái)務(wù)處審計(jì)科公司大樓206室1071206p10P20供應(yīng)處公司大樓103室2011103p00P30銷售處公司大樓104室3011104p00P31銷售處研究中心公司大樓106室306110

13、6p30P40倉庫管理處倉庫辦公室4012105p00P50運(yùn)輸管理處車庫辦公室5013105p00職工表工號(hào)姓名年齡工作日期職務(wù)工資獎(jiǎng)金所屬部門001劉浩然5201/01/78經(jīng)理56001000p00002周 凌3009/07/98秘書2570400p00101余 榮5511/11/75處長3700800p10102汪占魁5503/01/80科長2800600p11103李 紅4301/01/87科員2400p11104姚 存4507/01/87科長2900600p12105葉蓉蓉3308/01/00會(huì)計(jì)2200400p12106劉小霞3501/01/94出納3100400p12107吳

14、方4809/01/85科長2500600p13108陳 奇3701/01/93科員2200400p13109周小環(huán)5210/01/77辦事員2800p13201汪小健5701/01/72處長4800800p20202毛婷婷3501/01/99辦事員2000400p20203劉志平3207/01/00采購員2200400p20204袁小浩4106/01/89采購員2400400p20205張志華5310/01/78采購員3200p20301梁道奇5101/01/73處長5200800p30302陳冬兒4512/01/84辦事員2300400p30303張海豐4201/01/88推銷員260040

15、0p30304王和平5506/01/76推銷員2900400p30305張小林5405/01/77推銷員2400400p30306梁 浩4307/01/89科長3600600p31307李向陽3103/01/99辦事員2600400p31401李 紅5201/01/80處長4600800p40402姜賢德5209/01/78倉庫管理員3500400p40403陳 瑛4001/01/91倉庫管理員2900400p40501王建國4907/01/73處長5400800p50502沈建平5301/01/74小車駕駛員3800500p50503章金強(qiáng)5201/01/75卡車駕駛員3600500p505

16、04徐海東4708/01/70卡車駕駛員2800500p50create table 部門表(部門號(hào) char(3) primary key, 名稱 varchar(20) not null, 地址 varchar(16), 經(jīng)理 char(3), 電話 char(4),直接上級(jí) char(3) )create table 職工表(工號(hào) char(3) primary key,姓名 char(8) not null,性別 char(2) default '男',年齡 smallint check(年齡>=18 and 年齡<=60),工作日期 datetime,職務(wù)

17、 char(10),工資 decimal(7,2),獎(jiǎng)金 decimal(6,2),所屬部門 char(3) foreign key references 部門表(部門號(hào))insert into 部門表values('p00','經(jīng)緯貿(mào)易公司','公司大樓303室','001','1303','000')insert into 部門表values('p10','財(cái)務(wù)處','公司大樓203室','101','1203',&

18、#39;p00')insert into 部門表values('p11','財(cái)務(wù)處計(jì)劃科','公司大樓202室','102','1202','p10')insert into 部門表values('p12','財(cái)務(wù)處記帳科','公司大樓204室','104','1204','p10')insert into 部門表values('p13','財(cái)務(wù)處審計(jì)科','

19、;公司大樓206室','107','1206','p10')insert into 部門表values('p20','供應(yīng)處','公司大樓103室','201','1103','p00')insert into 部門表values('p30','銷售處','公司大樓104室','301','1104','p00')insert into 部門表val

20、ues('p31','銷售處研究中心','公司大樓106室','306','1106','p30')insert into 部門表values('p40','倉庫管理處','倉庫辦公室','401','2105','p00')insert into 部門表values('p50','運(yùn)輸管理處','車庫辦公室','501','3105

21、','p00')-insert into 職工表values('1','劉浩然','男',52,'1978/01/01','經(jīng)理',5600.5,1000,'p00')insert into 職工表values('2','周凌','女',30,'1998-09-7','秘書',2800,400,'p00')insert into 職工表values('101',&#

22、39;余榮','男',55,'1975-11-11','處長',3700,800,'p10')insert into 職工表values('102','汪占魁','男',55,'1975-11-11','處長',3700,800,'p10')insert into 職工表values('103','李 紅','女',43,'1987-1-1','科員'

23、;,2400,0,'p11')insert into 職工表values('104','姚存','男',45,'1987-7-11','科長',3900,600,'p12')insert into 職工表values('105','葉蓉蓉','女',33,'2000-8-1','會(huì)計(jì)',2200,400,'p12')insert into 職工表values('106',&

24、#39;劉曉霞','女',35,'1994-1-1','出納',3100,400,'p12')insert into 職工表values('107','吳方','男',48,'1985-9-8','科長',2500,600,'p13')insert into 職工表values('108','陳 奇','男',37,'1993-1-1','科員',2

25、200,400,'p13')insert into 職工表values('109','周小環(huán)','女',52,'1977-10-1','辦事員',2800,0,'p13')insert into 職工表values('201','汪小健','男',57,'1972-1-1','處長',4800,800,'p20')insert into 職工表values('202',&#

26、39;毛婷婷','女',35,'1999-1-1','辦事員',2000,400,'p20')insert into 職工表values('203','劉志平','男',32,'2000-7-1','采購員',2200,400,'p20')insert into 職工表values('204','袁小潔','女',41,'1989-6-1','采購員'

27、;,2400,500,'p20')insert into 職工表values('205','張志華','男',53,'1978-1-1','采購員',3200,0,'p20')insert into 職工表values('301','梁道奇','男',51,'1973-1-1','處長',5200.5,800,'p30')insert into 職工表values('302'

28、;,'陳冬兒','女',45,'1984-12-1','辦事員',2300,600,'p30')insert into 職工表values('303','張海豐','男',42,'1988-1-1','推銷員',2600.5,400,'p30')insert into 職工表values('304','王和平','女',55,'1976-6-1','推銷員',2900,600,'p30')insert into 職工表values('305','張小林','男',54,'1977-5-1','推銷員',2500,400,'p30')insert into 職工表values('306','梁浩','男',43,'1989-7-1','科長',3600,600,'p30')insert into

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論