版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫應(yīng)用SQL server 2012什么是數(shù)據(jù)庫數(shù)據(jù)庫的定義數(shù)據(jù)庫(Database,簡稱DB)是長期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫的基本特征數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存可為各種用戶共享冗余度較小數(shù)據(jù)獨(dú)立性較高易擴(kuò)展數(shù)據(jù)庫的地位數(shù)據(jù)庫技術(shù)產(chǎn)生于六十年代末,是數(shù)據(jù)管理的最新技術(shù),是計(jì)算機(jī)科學(xué)的重要分支數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的核心和基礎(chǔ),它的出現(xiàn)極大地促進(jìn)了計(jì)算機(jī)應(yīng)用向各行各業(yè)的滲透數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個(gè)國家信息化程度的重要標(biāo)志數(shù)據(jù)庫管理系統(tǒng)什么是DBMS 位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件 是基礎(chǔ)軟件,是一個(gè)大型復(fù)雜
2、的軟件系統(tǒng) DBMS的用途 科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)數(shù)據(jù)庫管理系統(tǒng)分類 層次 網(wǎng)狀 關(guān)系 對(duì)象關(guān)系數(shù)據(jù)庫發(fā)展歷程數(shù)據(jù)庫技術(shù)的發(fā)展經(jīng)過了50年的歷程1963年,Charles . W . Bachman設(shè)計(jì)開發(fā)的IDS(Integrated Data Store)綜合數(shù)據(jù)存儲(chǔ)系統(tǒng)開始投入運(yùn)行,使多個(gè)COBOL程序可以共享數(shù)據(jù)庫1968年,網(wǎng)狀數(shù)據(jù)庫系統(tǒng)TOTALtutl出現(xiàn)。1969年,McGee開發(fā)出層次式數(shù)據(jù)庫系統(tǒng),發(fā)布了IBM的IMS系統(tǒng)。信息管理系統(tǒng)數(shù)據(jù)庫發(fā)展歷程1970年,IBM公司San Jose研究所的Edgar.F.Code發(fā)表了題為“大型共享數(shù)據(jù)庫數(shù)據(jù)的關(guān)系模
3、型”的著名論文,樹立了關(guān)系型數(shù)據(jù)庫的新的里程碑1973年, Charles. W. Bachman 因在數(shù)據(jù)庫方面的杰出貢獻(xiàn)而獲ACM圖靈獎(jiǎng)1976年,IBM San Jose研究所研制出在IBM 370機(jī)器上運(yùn)行的SYSTEM R關(guān)系型數(shù)據(jù)庫管理系統(tǒng)1979年,ORACLE公司推出了第一個(gè)商品化的關(guān)系型數(shù)據(jù)庫系統(tǒng)ORACLE 2.0數(shù)據(jù)庫發(fā)展歷程80年代至今,是數(shù)據(jù)庫技術(shù)發(fā)展的成熟時(shí)期,這個(gè)時(shí)期出現(xiàn)了眾多的大型數(shù)據(jù)庫系統(tǒng),包括IBM的DB2、微軟的SQL Server、Sybase以及Informix相繼出現(xiàn),使數(shù)據(jù)庫系統(tǒng)呈現(xiàn)出奪目的光彩,中國的人大金倉1981年, Edgar.F. Cod
4、d 因在關(guān)系數(shù)椐庫管理系統(tǒng)的理論和實(shí)踐方面的貢獻(xiàn)而獲獎(jiǎng)1998年,James Gray成為第三十三位圖靈獎(jiǎng)獲得者。數(shù)據(jù)庫和事務(wù)(Transaction)處理研究領(lǐng)域開創(chuàng)性的貢獻(xiàn),和其在系統(tǒng)實(shí)現(xiàn)方面的領(lǐng)導(dǎo)地位第2章 數(shù)據(jù)庫的創(chuàng)建和管理本章學(xué)習(xí)目標(biāo)掌握數(shù)據(jù)庫的兩種存儲(chǔ)結(jié)構(gòu)掌握數(shù)據(jù)庫文件和文件組的相關(guān)知識(shí)點(diǎn)掌握創(chuàng)建數(shù)據(jù)庫的方法掌握刪除數(shù)據(jù)庫的方法掌握數(shù)據(jù)庫更名、修改大小的方法本章內(nèi)容2.1 系統(tǒng)數(shù)據(jù)庫2.2 數(shù)據(jù)庫的結(jié)構(gòu) 2.2.1 數(shù)據(jù)庫文件 2.2.2 文件組2.3 創(chuàng)建數(shù)據(jù)庫2.4 管理數(shù)據(jù)庫2.1 系統(tǒng)數(shù)據(jù)庫在安裝了SQL Server 2012以后,系統(tǒng)會(huì)自動(dòng)創(chuàng)建5個(gè)系統(tǒng)數(shù)據(jù)庫:maste
5、r、model、msdb、tempdb、resourcemaster:記錄了SQL Server系統(tǒng)的所有系統(tǒng)級(jí)別的信息,包括系統(tǒng)中所有的登錄賬戶、鏈接服務(wù)器、系統(tǒng)配置信息、SQL Server的初始化信息及數(shù)據(jù)庫錯(cuò)誤信息等內(nèi)容。2.1 系統(tǒng)數(shù)據(jù)庫model:是創(chuàng)建用戶數(shù)據(jù)庫的模板。當(dāng)用戶創(chuàng)建一個(gè)數(shù)據(jù)庫時(shí),model數(shù)據(jù)庫的內(nèi)容會(huì)自動(dòng)復(fù)制到用戶數(shù)據(jù)庫中。msdb:存儲(chǔ)報(bào)警、作業(yè)及操作員信息。tempdb:為臨時(shí)表和臨時(shí)存儲(chǔ)過程提供空間resource:只讀數(shù)據(jù)庫,包含 SQL Server中的所有系統(tǒng)對(duì)象。 2.2 數(shù)據(jù)庫的結(jié)構(gòu)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)分為邏輯存儲(chǔ)結(jié)構(gòu)和物理存儲(chǔ)結(jié)構(gòu)兩種數(shù)據(jù)庫的邏輯存儲(chǔ)
6、結(jié)構(gòu)指的是數(shù)據(jù)庫是由哪些邏輯對(duì)象組成的,SQL Server中的邏輯對(duì)象主要包括數(shù)據(jù)表、視圖、同義詞、存儲(chǔ)過程、函數(shù)、觸發(fā)器、規(guī)則,另外還有用戶、角色、架構(gòu)等2.2 數(shù)據(jù)庫的結(jié)構(gòu)保存數(shù)據(jù)庫各種邏輯對(duì)象的物理文件如何在磁盤上存儲(chǔ)的數(shù)據(jù)庫在磁盤上是以文件為單位存儲(chǔ)的SQL Server 將數(shù)據(jù)庫映射為一組操作系統(tǒng)文件2.2.1 數(shù)據(jù)庫文件每個(gè)數(shù)據(jù)庫都至少有兩個(gè)物理文件與之對(duì)應(yīng)一個(gè)數(shù)據(jù)庫文件(.MDF)一個(gè)事務(wù)日志文件(.LDF)數(shù)據(jù)和日志信息從不混合在相同的文件中而且各文件僅在一個(gè)數(shù)據(jù)庫中使用2.2.1 數(shù)據(jù)庫文件數(shù)據(jù)庫具有三種類型的文件: 主數(shù)據(jù)文件(.MDF) 輔助數(shù)據(jù)文件(.NDF) 事物日
7、志文件(.LDF)2.2.1 數(shù)據(jù)庫文件主數(shù)據(jù)文件 主數(shù)據(jù)文件是數(shù)據(jù)庫的起點(diǎn),指向數(shù)據(jù)庫中的其他文件每個(gè)數(shù)據(jù)庫都有一個(gè)主數(shù)據(jù)文件主數(shù)據(jù)文件的推薦文件擴(kuò)展名是 .mdf。 2.2.1 數(shù)據(jù)庫文件輔助數(shù)據(jù)文件 除主數(shù)據(jù)文件以外的所有其他數(shù)據(jù)文件都是輔助數(shù)據(jù)文件數(shù)據(jù)庫可能不含有任何輔助數(shù)據(jù)文件數(shù)據(jù)庫可含有多個(gè)輔助數(shù)據(jù)文件輔助數(shù)據(jù)文件的推薦文件擴(kuò)展名是 .ndf 2.2.1 數(shù)據(jù)庫文件事務(wù)日志文件 包含用于恢復(fù)數(shù)據(jù)庫的所有日志信息每個(gè)數(shù)據(jù)庫必須至少有一個(gè)日志文件事務(wù)日志采用提前寫入方式,即對(duì)數(shù)據(jù)庫的修改先寫入事務(wù)日志中,然后再寫入數(shù)據(jù)庫日志文件的推薦文件擴(kuò)展名是 .Ldf 2.2.1 數(shù)據(jù)庫文件SQL
8、文件擁有兩個(gè)名稱 邏輯文件名 物理文件名邏輯文件名是在所有 Transact-SQL 語句中引用物理文件時(shí)所使用的名稱,具有唯一性,即對(duì)象名物理文件名是包括路徑的物理文件名例如數(shù)據(jù)庫test,對(duì)應(yīng)c:test.mdf和c:testlog.ldf數(shù)據(jù)庫中所有文件的位置都記錄在數(shù)據(jù)庫的主文件和 master 數(shù)據(jù)庫中2.2.2 文件組SQL Server中的數(shù)據(jù)庫文件分為: 主文件組(Primary File Group) 用戶定義文件組(user_defined Group)主文件組:主要數(shù)據(jù)庫文件和任何沒有明確指派給其他文件組的其他文件數(shù)據(jù)庫的系統(tǒng)表都包含在主文件組中。2.2.2 文件組用戶定
9、義文件組:在CREATE DATABASE或ALTER DATABASE語句中,使用FILEGROUP關(guān)鍵字指定的文件組一個(gè)文件只能存在于一個(gè)文件組中,一個(gè)文件組也只能被一個(gè)數(shù)據(jù)庫使用日志文件是獨(dú)立的,它不能作為任何文件組的成員在沒有指定用戶定義文件組的情況下,所有文件都包含在主文件組中2.3 創(chuàng)建數(shù)據(jù)庫若要?jiǎng)?chuàng)建數(shù)據(jù)庫,必須確定數(shù)據(jù)庫的名稱、所有者、大小以及存儲(chǔ)該數(shù)據(jù)庫的文件和文件組。創(chuàng)建數(shù)據(jù)庫的方法主要有兩種:使用SQL Server管理控制臺(tái)創(chuàng)建數(shù)據(jù)庫使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫。2.3 創(chuàng)建數(shù)據(jù)庫CREATE DATABASE database_name ON PRIMAR
10、Y ,.n , ,n LOG ON ,n := (NAME = logical_file_name , FILENAME = os_file_name , SIZE = size , MAXSIZE = max_size | UNLIMITED , FILEGROWTH = growth_increment KB | MB | GB | TB | % ) ,n := FILEGROUP filegroup_name DEFAULT ,n 2.3 創(chuàng)建數(shù)據(jù)庫各參數(shù)說明如下:database_name:數(shù)據(jù)庫的名稱,最長為128個(gè)字符。PRIMARY:該選項(xiàng)是一個(gè)關(guān)鍵字,指定主文件組中的文件。LO
11、G ON:指明事務(wù)日志文件的明確定義。NAME:指定數(shù)據(jù)庫的邏輯名稱,這是在SQL Server系統(tǒng)中使用的名稱,是數(shù)據(jù)庫在SQL Server中的標(biāo)識(shí)符。FILENAME:指定數(shù)據(jù)庫所在文件的操作系統(tǒng)文件名稱和路徑,該操作系統(tǒng)文件名和NAME的邏輯名稱一一對(duì)應(yīng)。SIZE:指定數(shù)據(jù)庫的初始容量大小。MAXSIZE:指定操作系統(tǒng)文件可以增長到的最大尺寸。如果沒有指定,則文件可以不斷增長直到充滿磁盤。FILEGROWTH:指定文件每次增加容量的大小,當(dāng)指定數(shù)據(jù)為0時(shí),表示文件不增長。2.3 創(chuàng)建數(shù)據(jù)庫例:使用CREATE DATABASE創(chuàng)建一個(gè)新的數(shù)據(jù)庫,名稱為“STUDENT2”,其他所有參數(shù)
12、均取默認(rèn)值。 create database STUDENT23.2.1 創(chuàng)建數(shù)據(jù)庫例:創(chuàng)建一個(gè)名稱為STUDENT3的數(shù)據(jù)庫,該數(shù)據(jù)庫的主文件邏輯名稱為STUDENT3_data,物理文件名為STUDENT3.mdf,初始大小為3MB,最大尺寸為無限大,增長速度為15%;數(shù)據(jù)庫的日志文件邏輯名稱為STUDENT3_log,物理文件名為STUDENT3.ldf,初始大小為2MB,最大尺寸為50MB,增長速度為1MB;要求數(shù)據(jù)庫文件和日志文件的物理文件都存放在E盤的DATA文件夾下。實(shí)現(xiàn)的步驟如下:(1)在E盤創(chuàng)建一個(gè)新的文件夾,名稱是“DATA”。(2)在SQL Server Manageme
13、nt Studio中新建一個(gè)查詢頁面。(3)輸入以下程序段并執(zhí)行此查詢:create database STUDENT3on primary(name= STUDENT3_data,filename=E:DATASTUDENT3.mdf,size=3,maxsize=unlimited,filegrowth=15%)log on(name= STUDENT3_log,filename=E:DATASTUDENT3.ldf,size=2,maxsize=50,filegrowth=1)2.3 創(chuàng)建數(shù)據(jù)庫例:創(chuàng)建一個(gè)指定多個(gè)數(shù)據(jù)文件和日志文件的數(shù)據(jù)庫。該數(shù)據(jù)庫名稱為STUDENTS,有1個(gè)5MB和
14、1個(gè)10MB的數(shù)據(jù)文件和2個(gè)5MB的事務(wù)日志文件。數(shù)據(jù)文件邏輯名稱為STUDENTS1和STUDENTS2,物理文件名為STUDENTS1.mdf和STUDENTS2.ndf。主文件是STUDENTS1,由PRIMARY指定,兩個(gè)數(shù)據(jù)文件的最大尺寸分別為無限大和100MB,增長速度分別為10%和1MB。事務(wù)日志文件的邏輯名為STUDENTSLOG1和STUDENTSLOG2,物理文件名為STUDENTSLOG1.ldf和STUDENTSLOG2.ldf,最大尺寸均為50MB,文件增長速度為1MB。要求數(shù)據(jù)庫文件和日志文件的物理文件都存放在E盤的DATA文件夾下。實(shí)現(xiàn)的步驟如下:(1)在E盤創(chuàng)建
15、一個(gè)新的文件夾,名稱是“DATA”。(2)在SQL Server Management Studio中新建一個(gè)查詢頁面。(3)輸入以下程序段并執(zhí)行此查詢:create database STUDENTSon primary(name=STUDENTS1,filename=E:DATASTUDENTS1.mdf,size=5,maxsize=unlimited,filegrowth=10%),(name= STUDENTS12,filename=E:DATASTUDENTS2.ndf,size=10,maxsize=100,filegrowth=1)2.3 創(chuàng)建數(shù)據(jù)庫log on (name=S
16、TUDENTSLOG1,filename=E:DATASTUDENTSLOG1.ldf,size=5,maxsize=50,filegrowth=1),(name=STUDENTSLOG2,filename=E:DATASTUDENTSLOG2.ldf,size=5,maxsize=50,filegrowth=1)2.3 創(chuàng)建數(shù)據(jù)庫2.3 創(chuàng)建數(shù)據(jù)庫例:創(chuàng)建學(xué)生管理數(shù)據(jù)庫jsjxy。將該數(shù)據(jù)庫的數(shù)據(jù)文件存儲(chǔ)在D:Data下,數(shù)據(jù)文件的邏輯名稱為jsjxy,文件名為jsjxy,初始大小為5MB,最大尺寸為無限制,增長速度為1MB;該數(shù)據(jù)庫的日志文件,邏輯名稱為 jsjxy_log,文件名為jsj
17、xy_log.ldf,初始大小為2MB,最大尺寸為2GB,增長速度為10%。實(shí)現(xiàn)的步驟如下:在D盤創(chuàng)建一個(gè)新的文件夾,名稱是“DATA”。CREATE DATABASE jsjxyON ( NAME =jsjxy, /*注意有逗號(hào)分隔*/ FILENAME=d:datajsjxy.mdf, /*注意用半角狀態(tài)下的引號(hào),d:data文件夾必須已經(jīng)存在*/ SIZE=5MB, MAXSIZE = UNLIMITED, FILEGROWTH = 1MB) /*注意沒有逗號(hào)*/LOG ON ( NAME= jsjxy_log, /*注意有逗號(hào)分隔*/ FILENAME=d:datajsjxy_log.
18、ldf, /*注意使用半角狀態(tài)下的引號(hào)*/ SIZE=2MB, MAXSIZE = 2084MB, FILEGROWTH = 10%) /*注意沒有逗號(hào)*/2.3 創(chuàng)建數(shù)據(jù)庫2.4 管理數(shù)據(jù)庫重命名數(shù)據(jù)庫附加與分離數(shù)據(jù)庫更改數(shù)據(jù)庫狀態(tài)刪除數(shù)據(jù)庫2.4.1 查看數(shù)據(jù)庫信息sp_helpdb 數(shù)據(jù)庫名sp_helpdbsp_helpdb jsjxy2.4.3 重命名數(shù)據(jù)庫1sp_renamedb 原數(shù)據(jù)庫名,新數(shù)據(jù)庫名2. ALTER DATABASE old_database_name Modify NAME=new_database_name2.4.5 分離和附加數(shù)據(jù)庫使用管理平臺(tái)實(shí)現(xiàn)2.4.
19、6 刪除數(shù)據(jù)庫drop 數(shù)據(jù)庫名2.4.4 打開數(shù)據(jù)庫USE 數(shù)據(jù)庫名第3章 數(shù)據(jù)表的創(chuàng)建和管理本章學(xué)習(xí)目標(biāo)掌握SQL Server 2012中的數(shù)據(jù)類型掌握如何利用SQL Server管理控制臺(tái)和Transact-SQL語言創(chuàng)建表掌握創(chuàng)建、刪除和修改約束的方法掌握增加、刪除和修改字段的方法掌握如何查看數(shù)據(jù)表的定義、表中數(shù)據(jù)、數(shù)據(jù)庫對(duì)象之間的依賴關(guān)系掌握如何利用SQL Server管理控制臺(tái)和Transact-SQL語言刪除表3.1 創(chuàng)建數(shù)據(jù)表3.2 管理數(shù)據(jù)表3.3 使用約束實(shí)現(xiàn)數(shù)據(jù)完整性3.4 插入、刪除、修改表中數(shù)據(jù)3.1 創(chuàng)建數(shù)據(jù)表字段、記錄3.1 創(chuàng)建數(shù)據(jù)表每個(gè)數(shù)據(jù)庫可容納20億個(gè)表
20、,每個(gè)表可以有1024列(字段)CREATE TABLE database_name.schema_name.|schema_name.table_name( column_name NULL|NOT NULL IDENTITY(seed,increment) n ,n ,n )3.1 創(chuàng)建數(shù)據(jù)表創(chuàng)建表studentCREATE TABLE student ( id char (12) NOT NULL, name nvarchar (50) , sex char (2), age int, birthday date, nation nvarchar(50), class nvarchar(
21、50), specialty nvarchar(50) )3.1 創(chuàng)建數(shù)據(jù)表創(chuàng)建表courseCREATE TABLE course ( courseid char(12) NOT NULL , coursename char (50) NOT NULL, credit int )3.1 創(chuàng)建數(shù)據(jù)表創(chuàng)建表scCREATE TABLE sc ( id char(12) NOT NULL , courseid char (12) NOT NULL, score float )3.2.1 增加、刪除和修改字段ALTER TABLE table ALTER COLUMN column_name new
22、_data_type(precision,scale)|NULL|NOT NULL |ADD| |,n |DROPCONSTRAINTconstraint_name |COLUMN column_name,n【例】在student表中增加三列:“address”列,數(shù)據(jù)類型為varchar(20),允許為空;“telephone”列,數(shù)據(jù)類型為varchar(15),允許為空,“courseid”列,數(shù)據(jù)類型為char(12),允許為空。ALTER TABLE studentADDaddress varchar(20) NULL,telephone varchar(15) NULL,cours
23、eid char(12) NULL增加字段【例】在student表中,刪除“class”、“telephone”兩列。ALTER TABLE studentDROP COLUMN class,telephone刪除字段ALTER TABLE 表名 ALTER COLUMN 列名【例】在course表中,將courseid列的數(shù)據(jù)類型改為varchar(20),允許空。 ALTER TABLE course ALTER COLUMN courseid varchar(20) NULL修改字段sp_rename 表名.原列名,新列名, COLUMNsp_rename student.special
24、ty, DepartmentName, COLUMN修改列名 sp_rename 原表名,新表名【例】將course表重命名為Department。 sp_rename course,Department3.2.2 重命名數(shù)據(jù)表 DROP TABLE 表名1 ,n 【例】刪除Department表。 DROP TABLE Department3.2.3 刪除數(shù)據(jù)表3.3.1 數(shù)據(jù)完整性定義數(shù)據(jù)完整性是指數(shù)據(jù)的正確性和有效性主要用于保證數(shù)據(jù)庫中數(shù)據(jù)的質(zhì)量防止數(shù)據(jù)庫中存在不符合語義規(guī)定的數(shù)據(jù)和防止因錯(cuò)誤信息的輸入/輸出造成無效操作或報(bào)錯(cuò)而提出的3.3 使用約束實(shí)現(xiàn)數(shù)據(jù)完整性實(shí)體完整性參照完整性域完
25、整性3.3.2 數(shù)據(jù)完整性類型約束(constraint)是SQL Server 2012提供的自動(dòng)保持?jǐn)?shù)據(jù)庫完整性的一種方法約束就是限制,定義約束就是定義可輸入表或表的單個(gè)列中的數(shù)據(jù)的限制條件。3.3.3 約束定義主鍵約束(primary key constraint)唯一約束(unique constraint)外鍵約束(foreign key constraint)檢查約束(check constraint)默認(rèn)約束(default constraint)非空約束(not null constraint)3.3.4 約束分類3.3.4 約束分類-約束與完整性為了便于管理約束,在創(chuàng)建約束時(shí)
26、,需要?jiǎng)?chuàng)建約束的名稱,約束名稱必須符合標(biāo)識(shí)符命名規(guī)則。3.3.5 約束名1使用CREATE TABLE語句創(chuàng)建 CREATE TABLE 表名 ( , ,n ,n)2使用ALTER TABLE語句創(chuàng)建約束 ALTER TABLE 表名 ADD3.3.6 創(chuàng)建約束的語法格式1主鍵約束的定義 主鍵約束(primary key constraint)用于指定表的一列或幾列的組合來唯一標(biāo)識(shí)表,即能在表中唯一地指定一行記錄 這樣的一列或列的組合稱為表的主鍵(primary key,PK)定義主鍵約束的列其值不可為空、不可重復(fù)每個(gè)表中只能有一個(gè)主鍵。3.3.7 主鍵約束2在創(chuàng)建表的同時(shí)創(chuàng)建主鍵約束(1)創(chuàng)
27、建單個(gè)列的主鍵可采用列級(jí)約束 列名CONSTRAINT約束名PRIMARY KEY(2)多個(gè)列組合的主鍵約束,采用表級(jí)約束CONSTRAINT 約束名 PRIMARY KEY (列名1 ,列名n )3.3.7 主鍵約束【例】在jsjxy數(shù)據(jù)庫中,創(chuàng)建student表并為id字段添加主鍵。CREATE TABLE student1( id char (12) NOT NULL PRIMARY KEY, name nvarchar (50) , sex char (2), age int, birthday date, nation nvarchar(50), class nvarchar(50)
28、, specialty nvarchar(50)3.3.7 主鍵約束【例】在score1表中,將id和courseid兩個(gè)字段設(shè)為主鍵。 CREATE TABLE score1(id char(12) NOT NULL ,courseid char (12) NOT NULL,score float,CONSTRAINT PK_score1 PRIMARY KEY(id,courseid)3.3.7 主鍵約束3在一張現(xiàn)有表上添加主鍵約束【例】為student表添加主鍵約束。ALTER TABLE studentADD CONSTRAINT PK_student PRIMARY KEY(id)3
29、.3.7 主鍵約束4刪除主鍵約束ALTER TABLE表名DROP CONSTRAINT約束名1,約束名n【例】為student表刪除主鍵約束。 ALTER TABLE student drop CONSTRAINT PK_student3.3.7 主鍵約束唯一約束(unique constraint)用于指定一個(gè)列或多個(gè)列的組合值具有唯一性唯一約束指定的列可以為NULL,但主鍵約束所在的列則不允許為NULL。一個(gè)表中可以包含多個(gè)唯一約束,而主鍵約束則只能有一個(gè)。3.3.8 唯一約束2在創(chuàng)建表的同時(shí)創(chuàng)建唯一約束(1)創(chuàng)建單個(gè)列的唯一可采用列級(jí)約束 列名CONSTRAINT約束名 unique(
30、2)多個(gè)列組合的唯一約束,采用表級(jí)約束CONSTRAINT 約束名 unique (列名1 ,列名n )3.3.8 唯一約束CREATE TABLE course(courseid char(12) PRIMARY KEY,coursename varchar(50) NOT NULL UNIQUE,credit int)CREATE TABLE course(courseid char(12) PRIMARY KEY,coursename varchar(50) NOT NULL,credit int,constraint kk unique(coursename)3.3.8 唯一約束3修改
31、表語句創(chuàng)建唯一約束【例】為student表添加唯一約束。 ALTER TABLE student1 ADD CONSTRAINT ddd unique(name)3.3.8 唯一約束3.3.9 外鍵約束FOREIGN KEY (列名1,列名2,列名n) REFERENCES 主鍵表名 (列名1,列名2,列名n) ON DELETE CASCADE | NO ACTION | SET NULL | SET DEFAULT ON UPDATE CASCADE | NO ACTION | SET NULL | SET DEFAULT create 和alter中都可使用【例】在jsjxy數(shù)據(jù)庫中,為
32、sc表創(chuàng)建外鍵約束。ALTER TABLE scADD CONSTRAINT FK_sc_studentFOREIGN KEY(id)REFERENCES student(id)ALTER TABLE scADD CONSTRAINT FK_sc_courseFOREIGN KEY(courseid)REFERENCES course(courseid)3.3.9 外鍵約束1. 使用CREATE TABLE語句在建表時(shí)創(chuàng)建檢查約束 CREATE TABLE 表名 (列名 數(shù)據(jù)類型 CONSTRAINT 檢查約束名 CHECK () ,n )CREATE TABLE xsscore(id cha
33、r(8) NOT NULL,courseid char(4) NOT NULL,score decimal(4,1) NULL CHECK(score=0 AND score=100),CONSTRAINT PK_xsscorePRIMARY KEY(id,courseid),CONSTRAINT FK_xsscore_studentFOREIGN KEY(id)REFERENCES xsscore(id),CONSTRAINT FK_xsscore_courseFOREIGN KEY(courseid)REFERENCES course(courseid)3.3.10 檢查約束3.3.10
34、檢查約束2. 使用ALTER TABLE語句定義檢查約束 ALTER TABLE表名 WITH CHECK | NOCHECK ADD CONSTRAINT 檢查約束名 CHECK ()WITH CHECK :對(duì)已有記錄進(jìn)行約束檢查,此值為默認(rèn)值。WITH NOCHECK:對(duì)已有記錄不進(jìn)行約束檢查,只對(duì)以后插入的新記錄進(jìn)行檢查。ALTER TABLE student ADD CONSTRAINT CK_student_age CHECK(age=20 AND age=22)3.3.11 默認(rèn)值約束1. 使用CREATE TABLE語句創(chuàng)建默認(rèn)值約束 CREATE TABLE 表名(列名 數(shù)據(jù)類
35、型 CONSTRAINT 默認(rèn)值約束名 DEFAULT ,.n )CREATE TABLE Students(學(xué)號(hào) Char(8) PRIMARY KEY,姓名 Varchar(12) NOT NULL,民族 Varchar(8) NOT NULL DEFAULT 漢族)3.3.11 默認(rèn)值約束2.使用ALTER TABLE語句添加默認(rèn)值約束 ALTER TABLE 表名ADD CONSTRAINT 默認(rèn)值約束名DEFAULT()FOR列名ALTER TABLE StudentsADD CONSTRAINT DF_Students_nationDEFAULT 漢族 FOR nation3.3.
36、12 非空約束1.使用 CREATE TABLE語句創(chuàng)建非空約束 CREATE TABLE 表名(列名 數(shù)據(jù)類型 CONSTRAINT 非空約束名 NULL | NOT NULL ,.n )2. ALTER TABLE語句添加非空約束ALTER TABLE 表名 ALTER COLUMN 列名 數(shù)據(jù)類型 NULL | NOT NULL3.3.13 使用IDENTITY列1.使用CREATE TABEL語句創(chuàng)建IDENTITY列 CREATE TABLE 表名(列名 數(shù)據(jù)類型 IDENTITY(seed,increment) ,.n )CREATE TABLE New_score(id Int
37、constraint tt PRIMARY KEY IDENTITY(1,1),xhid Char(8) NOT NULL,courseid Char(4) NOT NULL,score Decimal(4,1) CHECK(score=0 AND score=100)3.3.13 使用IDENTITY列2.使用ALTER TABEL語句添加IDENTITY列 ALTER TABLE 表名 ADD 列名 數(shù)據(jù)類型IDENTITY(seed,increment)ALTER TABLE New_scoreDROP CONSTRAINT T1GOALTER TABLE New_scoreDROP C
38、OLUMN id GOALTER TABLE New_scoreADD scoreid Int IDENTITY(1,2)3.4 插入、刪除、修改表中數(shù)據(jù)插入數(shù)據(jù) INSERT刪除數(shù)據(jù) DELETE修改數(shù)據(jù) UPDATE3.4.1 插入數(shù)據(jù)INSERT語句INSERT INTO表名|視圖名(列名表)VALUES(DEFAULT|NULL|expression,.n)|derived_table3.4.1 插入數(shù)據(jù)INTO:一個(gè)可選的關(guān)鍵字VALUES:是插入的數(shù)據(jù)值的列表。DEFAULT:使用默認(rèn)值填充。NULL:使用空值填充。Expression:常量、變量或表達(dá)式。derived_tabl
39、e:任何有效的 SELECT 語句,它返回將插入到表中的數(shù)據(jù)行。3.4.1 插入數(shù)據(jù)【例】向表STUDENT中插入一行數(shù)據(jù),只包含ID、NAME和AGE三列。 INSERT INTO STUDENT (id,NAME,age) VALUES( 201541030112 ,張宇天,20)3.4.1 插入數(shù)據(jù)【例】利用INSERT語句向表STUDENT中插入一行數(shù)據(jù),所有的字段都要給出相應(yīng)的值。INSERT into STUDENT VALUES (201541030111,趙源,男,19,回族, 20150304, 計(jì)算機(jī)科學(xué)與技術(shù))3.4.1 插入數(shù)據(jù)【例】利用INSERT語句向表STUDEN
40、T中插入一批數(shù)據(jù),數(shù)據(jù)來源于另一個(gè)已有的表。 INSERT INTO STUDENT (id,NAME,SEX,age,nation) SELECT id,NAME,SEX,age,nation FROM STUDENT13.4.2 更新數(shù)據(jù)UPDATE語句 UPDATE table_name | view_name FROM ,.n SET column_name = expression | DEFAULT | NULL ,.n WHERE search_condition 3.4.2 更新數(shù)據(jù)【例】一個(gè)帶有WHERE條件的修改語句。 UPDATE STUDENT SET id = 201
41、541030114, nation = 哈薩克 WHERE NAME = 郭賀【例】一個(gè)簡單的修改語句。 UPDATE STUDENT SET nation = 哈薩克說明:如果沒有WHERE子句,則UPDATE將會(huì)修改表中的每一行數(shù)據(jù)。例:實(shí)現(xiàn)A.c2的值更新為B.c3UPDATE ASET A.c2 =B.c3from A ,Bwhere A.c1=B.c1UPDATE ASET A.c2 =B.c3from A inner join B on A.c1=B.c13.4.2 更新數(shù)據(jù) 表A表B3.4.3 刪除數(shù)據(jù)1 DELETE語句 DELETE FROM table_name | vie
42、w_name WHERE 3.4.3 刪除數(shù)據(jù)1 DELETE語句DELETE FROM STUDENTWHERE NAME = 郭賀DELETE FROM STUDENT13.4.3 刪除數(shù)據(jù)2 TRUNCATE語句 TRUNCATE TABLE table_name例:使用TRUNCATE語句清空表STUDENT1中的數(shù)據(jù)。 TRUNCATE TABLE STUDENT14.1 Transact-SQL語言概論SQL的含義為結(jié)構(gòu)化查詢語言,即structured query language常量、變量、表達(dá)式、函數(shù)、流程控制語句、事務(wù)和游標(biāo)等。4.1.1 Transact-SQL語言分類數(shù)
43、據(jù)定義語言(data definition language,DDL)數(shù)據(jù)操作語言(data manipulation language,DML)數(shù)據(jù)控制語言(data control language,DCL)事務(wù)管理語言(transact management language,TML)其他語言元素:如標(biāo)識(shí)符、數(shù)據(jù)類型、流程控制和函數(shù)等。4.1.2 Transact-SQL語法約定Transact-SQL語法格式約定數(shù)據(jù)庫對(duì)象引用規(guī)則標(biāo)識(shí)符續(xù)行注釋1Transact-SQL語法格式約定語法約定說 明大寫Transact-SQL的保留字(關(guān)鍵字),通常為一個(gè)完整的英文單詞或縮寫斜體或小寫Tr
44、ansact-SQL語法中用戶提供的參數(shù)粗體數(shù)據(jù)庫名、表名、列名、索引名、存儲(chǔ)過程、實(shí)用工具、數(shù)據(jù)類型名以及必須按所顯示的原樣輸入的文本子句或用戶自定義的語法成分 (大括號(hào))表示必選語法項(xiàng),實(shí)際應(yīng)用時(shí)大括號(hào)不能真正出現(xiàn) (方括號(hào))表示可選語法項(xiàng),實(shí)際應(yīng)用時(shí)方括號(hào)不能真正出現(xiàn) (豎線)分隔大括號(hào)或方括號(hào)中的多個(gè)語法項(xiàng),表示多項(xiàng)中只能選擇其中任意一項(xiàng) ,n 指示前面的語法項(xiàng)可以重復(fù)出現(xiàn)多次,相鄰兩項(xiàng)之間由逗號(hào)分隔 n 指示前面的語法項(xiàng)可以重復(fù)出現(xiàn)多次,相鄰兩項(xiàng)之間由空格分隔 ; 可選的Transact-SQL語句終止符,實(shí)際應(yīng)用時(shí)方括號(hào)不能真正出現(xiàn):=子句的語法定義2數(shù)據(jù)庫對(duì)象引用規(guī)則server
45、_name.database_name.schema_name.|database_name.schema_name.|schema_name. object_name對(duì)象引用格式說 明serverdatabaseschemaobject4個(gè)部分的名稱serverdatabaseobject省略架構(gòu)名稱serverschemaobject省略數(shù)據(jù)庫名稱serverobject省略數(shù)據(jù)庫和架構(gòu)名稱databaseschemaobject省略服務(wù)器名稱databaseobject省略服務(wù)器和架構(gòu)名稱schemaObject省略服務(wù)器和數(shù)據(jù)庫名稱Object省略服務(wù)器、數(shù)據(jù)庫和架構(gòu)名稱3標(biāo)識(shí)符標(biāo)識(shí)數(shù)
46、據(jù)庫對(duì)象的名稱第一個(gè)字符必須由字母az、AZ以及來自其他語言的字母字符或者下劃線_、#構(gòu)成,其中以開頭的標(biāo)識(shí)符表示局部變量或參數(shù),以#開頭的標(biāo)識(shí)符表示全局臨時(shí)對(duì)象,以開始的標(biāo)識(shí)符表示全局變量,也稱為配置函數(shù)。在定義標(biāo)識(shí)符時(shí),不能占用Transact-SQL的保留字,如不能將Table、View、Index等定義為一個(gè)標(biāo)識(shí)符。在標(biāo)識(shí)符中不能含有空格或其他的特殊字符,并且標(biāo)識(shí)符中的字符數(shù)量不能超過128個(gè)。m n “m n” 允許。4續(xù)行可以將一條語句放在多行進(jìn)行編寫,Transact-SQL會(huì)忽略空格和行尾的換行符號(hào)數(shù)據(jù)庫對(duì)象引用規(guī)則SELECT id,name,sex,nationFROM s
47、tudentWHERE nation漢族 AND sex=女ORDER BY name5注釋嵌入行內(nèi)的注釋語句 -塊注釋語句 / * */4.2 數(shù)據(jù)類型基本數(shù)據(jù)類型用戶自定義數(shù)據(jù)類型4.2.1 基本數(shù)據(jù)類型1整型數(shù)據(jù)類型類型名稱取值范圍及說明int-231231-1之間的整型數(shù)據(jù)(所有數(shù)字),存儲(chǔ)大小為4字節(jié)smallint-215215-1之間的整型數(shù)據(jù),存儲(chǔ)大小為2字節(jié)bigint-263263-1之間的整型數(shù)據(jù)(所有數(shù)字),存儲(chǔ)大小為8字節(jié)tinyint0255之間的整型數(shù)據(jù),存儲(chǔ)大小為1字節(jié)bit可以取值為1、0或NULL的整型數(shù)據(jù)類型。字符串值TRUE和FALSE可以轉(zhuǎn)換為以下bi
48、t值:TRUE轉(zhuǎn)換為1,F(xiàn)ALSE轉(zhuǎn)換為04.2.1 基本數(shù)據(jù)類型2二進(jìn)制數(shù)據(jù)類型類 型 名 稱取值范圍及說明binary(n)固定長度的n字節(jié)二進(jìn)制數(shù)據(jù),1n8000,存儲(chǔ)大小為n字節(jié)varbinary ( n | max) 可變長度二進(jìn)制數(shù)據(jù)。1n8000。max指示最大存儲(chǔ)大小為231-1字節(jié)。存儲(chǔ)大小為所輸入數(shù)據(jù)的實(shí)際長度+2字節(jié)Image長度可變的二進(jìn)制數(shù)據(jù),從0231-1字節(jié)。在Microsoft SQL Server的未來版本將刪除該數(shù)據(jù)類型,請(qǐng)避免在新的開發(fā)工作中使用,并考慮修改當(dāng)前使用該數(shù)據(jù)類型的應(yīng)用程序4.2.1 基本數(shù)據(jù)類型3浮點(diǎn)數(shù)據(jù)類型類 型 名 稱取值范圍及說明Rea
49、l范圍為-3.40E+383.40E+38,數(shù)據(jù)精度為7位有效數(shù)字,存儲(chǔ)大小為4字節(jié)float (n )其中n為用于存儲(chǔ)float數(shù)值尾數(shù)的位數(shù)(以科學(xué)記數(shù)法表示),因此可以確定精度和存儲(chǔ)大小。如果指定了n,則它必須是介于1和53之間的某個(gè)值。n的默認(rèn)值為53。SQL Server將n視為下列兩個(gè)可能值之一。如果1n24,則將n視為24。如果25n53,則將n視為53decimal (p , s )固定精度和小數(shù)位數(shù)。使用最大精度時(shí),有效值從-1038+11038-1。P為(精度)最多可以存儲(chǔ)的十進(jìn)制數(shù)字的總位數(shù),包括小數(shù)點(diǎn)左邊和右邊的位數(shù)。1p38。默認(rèn)精度為18。s(小數(shù)位數(shù))小數(shù)點(diǎn)右邊為
50、可以存儲(chǔ)的十進(jìn)制數(shù)字的最大位數(shù)。0sp。僅在指定精度后才可以指定小數(shù)位數(shù)。默認(rèn)的小數(shù)位數(shù)為0。最大存儲(chǔ)大小基于精度而變化numeric (p , s )功能上等價(jià)于decimal (p , s )4.2.1 基本數(shù)據(jù)類型4字符數(shù)據(jù)類型類 型 名 稱取值范圍及說明char ( n ) 固定長度,非Unicode字符數(shù)據(jù),長度為n個(gè)字節(jié)。1n8000,存儲(chǔ)大小是n個(gè)字節(jié)varchar ( n | max) 可變長度,非Unicode字符數(shù)據(jù)。1n8000。max指示最大存儲(chǔ)大小是231-1個(gè)字節(jié)。存儲(chǔ)大小是輸入數(shù)據(jù)的實(shí)際長度加2個(gè)字節(jié)Text長度可變的非Unicode數(shù)據(jù),最大長度為231-1個(gè)字
51、節(jié)。Microsoft建議,盡量避免使用text數(shù)據(jù)類型,應(yīng)使用varbinary(max)存儲(chǔ)大文本數(shù)據(jù)Nchar ( n ) n個(gè)字符固定長度的Unicode字符數(shù)據(jù)。1n4000。存儲(chǔ)大小為兩倍n字節(jié)nvarchar ( n | max ) 可變長度Unicode字符數(shù)據(jù)。1n4000。max指示最大存儲(chǔ)大小為231-1字節(jié)。存儲(chǔ)大小是所輸入字符個(gè)數(shù)的兩倍+2個(gè)字節(jié)Ntext長度可變的Unicode數(shù)據(jù),最大長度為231-1個(gè)字節(jié)。存儲(chǔ)大小是所輸入字符個(gè)數(shù)的兩倍(以字節(jié)為單位)4.2.1 基本數(shù)據(jù)類型5日期和時(shí)間數(shù)據(jù)類型類 型 名 稱取值范圍及說明date指定年、月、日的值,表示0001
52、年1月1日9999年12月31日的日期datetime1753年1月1日9999年12月31日的日期和時(shí)間,時(shí)間表示的精度達(dá)到ms(毫秒),占用的存儲(chǔ)空間大小為8字節(jié)smalldatetime1900年1月1日2079年6月6日的日期和時(shí)間,時(shí)間表示精度為分鐘,占用的存儲(chǔ)空間大小為4字節(jié)4.2.1 基本數(shù)據(jù)類型6貨幣數(shù)據(jù)類型類型名稱取值范圍及說明money取值范圍為-263263-1,占8字節(jié),精確到它們所代表的貨幣單位的萬分之一smallmoney取值范圍為-231231-1,占4字節(jié),精確到它們所代表的貨幣單位的萬分之一4.3 常量與變量4.3.1 常量常 量 類 型舉 例ASCII字符串
53、常量1234,北京大學(xué)Unicode字符串常量N1234,N北京大學(xué)整型常量125,-134,0數(shù)值型常量125.34,-134.8浮點(diǎn)型常量1.25E+6貨幣型常量¥5000,$3000日期時(shí)間型常量2011-12-12 10:12:30,2011.12.12,15:21:40二進(jìn)制常量Ox1E3A4.3 常量與變量4.3.2 變量全局變量局部變量全局變量使用開頭全 局 變 量含 義VERSION返回當(dāng)前的 SQL Server 安裝的版本、處理器體系結(jié)構(gòu)、生成日期和操作系統(tǒng)LANGUAGE返回當(dāng)前所用語言的名稱ROWCOUNT返回受上一條Transact-SQL語句影響的行數(shù)ERROR返回
54、執(zhí)行的上一個(gè)Transact-SQL語句的錯(cuò)誤號(hào)全局變量SELECT * FROM STUDENTSELECT ROWCOUNT AS 第一次查詢返回的記錄數(shù)SELECT * FROM STUDENT WHERE SEX=男SELECT ROWCOUNT AS 第二次查詢返回的記錄數(shù)INSERT INTO COURSE (courseid,coursename,credit) VALUES (201641030201,VB程序設(shè)計(jì), 3)SELECT ROWCOUNT AS 第一次插入記錄時(shí)影響的記錄數(shù)INSERT INTO COURSE (courseid,coursename,credit
55、) VALUES (201641030202,VC程序設(shè)計(jì), 3) SELECT ROWCOUNT AS 第二次插入記錄時(shí)影響的記錄數(shù)全局變量INSERT INTO COURSE (courseid,coursename,credit) VALUES (201641030205,VB程序設(shè)計(jì), 3)SELECT ERROR AS 第一次插入記錄時(shí)的錯(cuò)誤代碼-重復(fù)執(zhí)行一次,會(huì)出現(xiàn)問題局部變量局部變量的定義局部變量的賦值變量值的輸出作用域局部變量的定義使用開頭 DECLARE局部變量名 數(shù)據(jù)類型 ,nDECLARE name varchar(8),sex varchar(2) , age smal
56、lint DECLARE address varchar(50)局部變量的賦值 SET 局部變量名=表達(dá)式 SELECT 局部變量名=表達(dá)式 ,n SET name=張力 SELECT sex=男,age=25,address=河南鄭州 SELECT SEX=SEX FROM STUDENT WHERE NAME=劉浩變量值的輸出 PRINT 變量名 SELECT 變量名,n PRINT name SELECT name,sex,age,address變量作用域一個(gè)批處理內(nèi)一個(gè)存儲(chǔ)過程內(nèi)一個(gè)觸發(fā)器內(nèi)4.4 表達(dá)式與運(yùn)算符表達(dá)式概念運(yùn)算符運(yùn)算符優(yōu)先級(jí)表達(dá)式概念按照一定的原則,用運(yùn)算符將常量、變量
57、、列名、函數(shù)等對(duì)象連接而成的一個(gè)有意義的式子表達(dá)式可以是一個(gè)常量、變量、字段名、函數(shù)或子查詢按返回值的數(shù)據(jù)類型,表達(dá)式分為字符型表達(dá)式、數(shù)值型表達(dá)式、日期時(shí)間表達(dá)式等運(yùn)算符1算術(shù)運(yùn)算符運(yùn) 算 符含 義+加-減*乘/除%取模,返回一個(gè)除法運(yùn)算的整數(shù)余數(shù)。例如,12 % 5 = 2,這是因?yàn)?2除以5,余數(shù)為2運(yùn)算符2賦值運(yùn)算符 =3位運(yùn)算符運(yùn) 算 符含 義&位與(兩個(gè)操作數(shù))|位或(兩個(gè)操作數(shù))位異或(兩個(gè)操作數(shù))00-0 10-1運(yùn)算符4比較運(yùn)算符運(yùn) 算 符含 義運(yùn) 算 符含 義=等于不等于大于!=不等于小于!=大于等于!不大于、=、=、!=,!、! 0BEGIN DECLARE dy INT
58、EGER SELECT dy = COUNT(*) FROM student WHERE class = 20150303 AND sex = 男 PRINT 男生人數(shù)為: PRINT dyENDELSE PRINT 該班級(jí)沒有男生3. CASE語句簡單CASE函數(shù)CASE搜索函數(shù)簡單CASE函數(shù)1CASE 輸入表達(dá)式 WHEN 表達(dá)式1 THEN 結(jié)果表達(dá)式1 WHEN 表達(dá)式2 THEN 結(jié)果表達(dá)式2 n ELSE其他結(jié)果表達(dá)式END簡單CASE函數(shù)2【例】根據(jù)系統(tǒng)時(shí)間判斷當(dāng)前日期所對(duì)應(yīng)的星期值并且輸出結(jié)果。DECLARE dt DATETIMESET dt = DATEPART(w,GE
59、TDATE()SELECT CASE dt WHEN 1 THEN 星期日 WHEN 2 THEN 星期一 WHEN 3 THEN 星期二 WHEN 4 THEN 星期三 WHEN 5 THEN 星期四 WHEN 6 THEN 星期五 WHEN 7 THEN 星期六ENDCASE搜索函數(shù)1CASE WHEN邏輯表達(dá)式1 THEN結(jié)果表達(dá)式1 WHEN邏輯表達(dá)式2 THEN結(jié)果表達(dá)式2 n ELSE其他結(jié)果表達(dá)式ENDCASE搜索函數(shù)2【例】判斷當(dāng)前時(shí)間在一天中所處的時(shí)辰。DECLARE sj DATETIMESET sj = DATEPART(hh,GETDATE()SELECT CASE W
60、HEN sj=20 THEN 晚上 WHEN sj=14 THEN 下午 WHEN sj=12 THEN 中午 WHEN sj=8 THEN 上午 WHEN sj=6 THEN 早晨 WHEN sj=0 THEN 凌晨END4WHILE、CONTINUE和BREAK語句1WHILE 邏輯表達(dá)式 語句塊1 CONTINUE BREAK 語句塊2END4WHILE、CONTINUE和BREAK語句2【例】利用循環(huán)計(jì)算1+2+3+99+100的值。DECLARE sum int,i intSET sum=0SET i=1WHILE i1 GOTO Label1 ELSE BEGIN PRINT 5的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度房屋租賃合同及房產(chǎn)權(quán)益抵押貸款擔(dān)保協(xié)議3篇
- 2025年度電子元器件維修與再制造合同3篇
- 二零二五年度擔(dān)保銷售化工產(chǎn)品合同模板范文2篇
- 2025年度版權(quán)授權(quán)使用及收益分成合同3篇
- 二零二五年度建筑材料區(qū)域代理銷售合同2篇
- 2025年度防盜門安裝與售后維修保養(yǎng)服務(wù)協(xié)議3篇
- 2025年度研發(fā)合作合同(生物醫(yī)藥領(lǐng)域)3篇
- 芋頭怎樣種植課程設(shè)計(jì)
- 課程設(shè)計(jì)與實(shí)踐教學(xué)計(jì)劃
- 海南醫(yī)學(xué)院《科學(xué)與工程計(jì)算方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 人教版初三化學(xué)上冊(cè)講義
- 乙酸鈉危化品安全信息卡、周知卡及MSDS-
- 德宏隴川縣人民法院招聘聘用制書記員筆試真題2023
- 人工造林項(xiàng)目與其他單位的協(xié)調(diào)配合
- (高清版)DZT 0426-2023 固體礦產(chǎn)地質(zhì)調(diào)查規(guī)范(1:50000)
- 文旅微電影項(xiàng)目策劃
- 比亞迪電子員工手冊(cè)
- 三年級(jí)必讀書目《格林童話》閱讀測試題(附答案)
- 2023-2024學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試卷及答案(共五套)
- 2024年山東行測真題及答案解析
- 四川樂山師范學(xué)院招聘工作人員筆試真題2022
評(píng)論
0/150
提交評(píng)論