《網絡數據庫技術》實驗指導書_第1頁
《網絡數據庫技術》實驗指導書_第2頁
《網絡數據庫技術》實驗指導書_第3頁
《網絡數據庫技術》實驗指導書_第4頁
《網絡數據庫技術》實驗指導書_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、網絡數據庫技術技術與應用課程課程編號:433011實 驗 指 導 書主撰人: 王志和審核人:陳 剛經濟與管理科學系電子商務教研室二一二年五月 目 錄前 言1實驗1熟悉Java編程環境和Java程序結構實驗2實驗2Java基本語法實驗實驗3面向對象編程實驗實驗4數組與字符串實驗實驗5異常處理機制實驗實驗6多線程實驗實驗7輸入流/輸出流類實驗實驗8圖形用戶界面及applet實驗實驗9網絡編程實驗前 言實驗總體目標:網絡數據庫技術與應用是電子商務專業的專業必修課程。課程內容主要包括:數據模型、關系代數、關系數據庫標準語言SQL、關系數據理論、數據庫設計與編程、關系查詢處理和查詢優化和數據庫的恢復與并

2、發技術。學習本課程的上機實驗,使學生真正深層次了解數據庫系統的體系結構,掌握數據庫系統的基礎理論、技術和方法,掌握主流數據庫管理系統SQL Server的應用技術及數據庫應用系統的設計、開發能力。適用專業年級:電子商務專業第四學期實驗課時分配:16學時序號實驗項目要求類型每組人數實驗學時1常用數據庫管理工具的使用必驗證122數據庫的管理和表操作必設計123SQL數據操作與查詢必驗證144Transact-SQL數據庫編程必設計145數據庫的管理與維護必驗證126數據庫應用開發必設計149網絡編程實驗必設計14實驗環境Windows 2003,Microsoft SQL Server 2005。

3、實驗總體要求通過本實驗課程的教學,學生能基本上達到獨立完成實驗內容,通過老師的指導可完成設計性實驗內容,能將相關內容應用到課程設計、畢業設計等實踐性環節中。實驗1 常用數據庫管理工具的使用一、實驗目的1理解服務的概念,掌握SQL Server服務的啟動、暫停和停止。2熟悉SQL Server數據庫結構,掌握企業管理器的基本操作。3理解查詢分析器的作用,掌握查詢分析器的常用用法。4掌握聯機叢書的用法。二、實驗內容與步驟1、服務管理器的用法SQL Server 是作為Windows 網絡操作系統的一個服務運行的。通過設置,可以在啟動操作系統時自動啟動SQL Server,也可以遠程啟動和停止SQL

4、 Server。可以使用下列工具手工啟動、暫停和停止SQL Server服務:l SQL Server企業管理器l SQL Server服務管理器l 控制面板中的“服務”在命令提示符中使用net命令net pause mssqlservernet continue mssqlservernet stop mssqlserver其中,服務管理器是最常用的圖形界面工具。實驗要求1:使用SQL Server服務管理器查看SQL Server服務是否正在運行,若正在運行,將其停止。實驗要求2:使用控制面板中的“服務”管理控制臺將已停止的SQL Server服務啟動。2、企業管理器的使用企業管理器是SQ

5、L Server提供的最主要的數據庫管理圖形界面工具,它以樹形結構來組織數據庫服務器、數據庫和數據庫中的對象,大部分的數據庫管理工作都可以使用它來完成。實驗要求3:啟動企業管理器,查看SQL Server的注冊屬性。提示:啟動企業管理器后,在控制臺樹中,展開“Microsoft SQL Servers”,然后展開“SQL Server組”,右擊自己的服務器名,然后單擊“編輯SQL Server注冊屬性”。實驗要求4:在企業管理器中,查看Northwind數據庫中用戶數據表和系統數據表各有多少個?13,193、查詢分析器的使用查詢分析器是圖形化的數據庫編程接口,用戶可以以自由的文本格式編輯、調試

6、和執行SQL腳本。實驗要求5:在查詢分析器中,使用SQL語句在master數據庫中查詢sysobjects表的所有信息。提示:首先,啟動查詢分析器,在查詢分析器的查詢窗口中輸入如下的SQL語句:select * from sysobjects然后,單擊工具欄中的“執行查詢”按鈕。實驗要求6:在查詢分析器中,使用SQL語句查詢Northwind數據庫中的Employees表的所有信息。select * from Northwind.Employees4、聯機叢書的使用聯機叢書中包含所有SQL Server2000的使用說明。在本課程的學習中,各位同學應該掌握聯機叢書的使用。實驗要求7:打開聯機叢

7、書,在目錄中展開“安裝SQL Server”,查看有關SQL Server 2000 的硬件和軟件安裝要求。實驗要求8:打開聯機叢書,在索引中查找有關sp_help存儲過程的幫助信息。四、思考題可以在一臺計算機中注冊多個命名實例和服務器,現在若需要將18號機器的SQL Server服務注冊到本地企業管理器中來,應該怎么做?實驗2 數據庫的管理和表操作一、實驗目的1掌握使用企業管理器和T-SQL語言創建SQL Server數據庫的方法。2掌握附加和分離數據庫的方法。3掌握使用企業管理器或存儲過程查看SQL數據庫屬性的方法。4熟悉數據庫的收縮、更名和刪除。5掌握使用企業管理器或sp_dboptio

8、n存儲過程修改數據庫選項的方法。6掌握使用企業管理器和T-SQL語句創建表、修改表的結構。7掌握使用企業管理器和T-SQL語句實現對數據的操作。二、實驗內容與步驟1、使用向導創建數據庫實驗內容1:創建一個名為TestData0的數據庫,數據文件的初始大小設為20MB,文件增長增量設為5MB,文件增長方式設為自動增長,文件的增長上限設為500MB;日志文件的初始大小為20MB,文件增長增量設為1MB,文件的增長限制設為100MB。CREATE DATABASE TestData0ON ( NAME = TestData0, FILENAME ='d:TestDBTestData0.mdf

9、', SIZE = 20, MAXSIZE = 500, FILEGROWTH = 5 )LOG ON( NAME =TestLog0, FILENAME = 'd:TestDBTestLog0.ldf', SIZE = 20, MAXSIZE = 100, FILEGROWTH = 1 )2、用企業管理器創建數據庫實驗內容2:使用SQL Server企業管理器創建一個數據庫,具體要求如下:l數據庫名稱為Test。l主要數據文件:邏輯文件名為TestData1,物理文件名為TestData1.mdf,初始容量為1MB,最大容量為10MB,遞增量為1MB。l次要數據文件:

10、邏輯文件名為TestData2,物理文件名為TestData2.ndf,初始容量為1MB,最大容量為10MB,遞增量為1MB。l事務日志文件:邏輯文件名為TestLog1,物理文件名為TestLog1.ldf,初始容量為1MB,大容量為5MB,遞增量為512KB。 CREATE DATABASE TestON ( NAME = TestData1, FILENAME ='d:TestDBTestData1.mdf', SIZE = 1, MAXSIZE = 10, FILEGROWTH = 1 ),( NAME = TestData2, FILENAME ='d:Tes

11、tDBTestData2.ndf', SIZE = 1, MAXSIZE = 10, FILEGROWTH = 1 )LOG ON( NAME =TestLog1, FILENAME = 'd:TestDBTestLog1.ldf', SIZE = 1, MAXSIZE = 5, FILEGROWTH = 512KB )3、用T-SQL語言創建數據庫實驗內容3:使用查詢分析器新建一個數據庫,名稱為“圖書”,其主要數據文件大小為2M,最大文件大小為10M,每次增長2M;次要數據文件大小為1M;日志文件大小為1M;三個文件的文件名自定,上述沒有說明的選項都采用默認值。提示:

12、在查詢分析器中輸入如下SQL腳本:CREATE DATABASE 圖書ON ( NAME = data1, FILENAME = 'd:TestDBdata1.mdf', SIZE = 2, MAXSIZE = 10, FILEGROWTH = 2 ),( NAME =data2, FILENAME = 'd:TestDBdata2.ndf', SIZE = 1 )LOG ON( NAME =log, FILENAME = 'd:TestDBlog.ldf', SIZE = 1 )實驗內容4:用T-SQL語句創建一個名為student的數據庫,它

13、由5MB的主數據文件、2MB的次數據文件和1MB的日志文件組成。并且主數據文件以2MB的增長速度增長,其最大容量為15MB;次數據文件以10%的增長速度增長,其最大容量為10MB;事務日志文件以1MB增長速度增長,其最大日志文件大小為10MB。提示:在查詢分析器中輸入如下SQL腳本:CREATE DATABASE studentOn( name=student1,filename= 'd:TestDBstudent_data1.mdf',size=5,maxsize=15,filegrowth=2),( name=student2,filename='d:TestDBs

14、tudent_data2.ndf',size=2,maxsize=10,filegrowth=10%)log on( name=student_log,filename='d:TestDBstudent_log.ldf',size=1,maxsize=10,filegrowth=1)4、數據庫的分離與附加實驗內容5:將“圖書”數據庫與服務器分離。可以使用企業管理器或SQL語言對數據庫進行分離的操作。分離數據庫的存儲過程是sp_detach_db。sp_detach_db 圖書實驗內容6:將已分離的“圖書”數據庫附加到服務器上。可以使用企業管理器或SQL語言對數據庫進行附

15、加的操作。附加數據庫的存儲過程是sp_attach_db。sp_attach_db 圖書,'d:TestDBstudent_data1.mdf','d:TestDBstudent_data2.ndf','d:TestDBstudent_log.ldf'5、查看和修改數據庫屬性可以使用企業管理器或SQL語言來查看或修改數據庫的屬性。使用企業管理器的方法是右擊數據庫名稱,在快捷菜單中選擇“屬性”,然后數據庫屬性對話框中就可以查看或修改數據庫的屬性。也可以使用sp_helpdb、sp_spaceused、sp_helpfile和sp_helpfileg

16、roup等存儲過程查看和數據庫有關的屬性。修改數據庫屬性可以使用ALTER DATABASE命令。實驗內容7:使用sp_helpdb存儲過程查看student數據庫的信息,然后企業管理器將student數據庫的事務日志文件的增長大小改為按1MB字節增長,再使用sp_helpdb存儲過程查看student數據庫的信息。sp_helpdb student實驗內容8:使用ALTER DATABASE命令為student數據庫添加一個新的數據文件,文件邏輯名為student_data3,初始大小為2MB,增長值為1MB,其他屬性默認。ALTER DATABASE studentADD FILE( na

17、me=student_data3, filename='d:TestDBstudent_data3.ndf', size=2,filegrowth=1)ALTER DATABASE studentremove FILE student_data36、數據庫的收縮數據庫收縮可以縮小數據庫的空閑空間。可以使用企業管理器或SQL語言對數據庫進行收縮工作。收縮數據庫使用的SQL語言是DBCC SHRINKDATABASE命令。也可以使用ALTER DATABASE的SET子句或sp_dboption將數據庫設為自動收縮。DBCC SHRINKDATABASE(student)實驗內容9

18、:將student數據庫設為自動收縮。sp_dboption N'student', N'autoshrink', N'true'7、數據庫的更名更改數據庫的名稱應使用sp_renamedb存儲過程。實驗內容10:將student數據庫改名為stu。sp_rename 'student', 'stu'8、數據庫選項的配置可以使用 ALTER DATABASE 語句的 SET 子句、sp_dboption 系統存儲過程,或者在某些情況下使用 SQL Server 企業管理器設置數據庫選項。實驗內容11:使用企業管理器

19、將stu數據庫設為只讀。 實驗內容12:使用sp_dboption存儲過程取消stu數據庫的只讀設置。sp_dboption N'student', N'read only', N'true9、數據庫的刪除刪除數據庫可以使用企業管理器或DROP DATABASE命令。實驗內容13:使用DROP DATABASE命令將stu數據庫刪除。DROP DATABASE stu10、使用企業管理器按下表結構創建表表名:Course屬性名稱屬性描述數據類型字節數空否備注CourseID課程號int4否主鍵,標識列CourseName課程名稱varchar20否Cat

20、egory課程類別char8Period學時數smallint2Credit學分tinyint1表名:ClassInfo屬性名稱屬性描述數據類型字節數空否備注ClassID班級號int4否ClassName班級名稱varchar20否11、使用T-SQL語句按下表結構創建表表名:Student屬性名稱屬性描述數據類型字節數空否備注StudentNum學號char9否主鍵StudentName姓名varchar8否Sex性別bit1Birthday出生日期smalldatetime4ClassID班級號int4CREATE TABLE student ( StudentNum char(9) N

21、OT NULL PRIMARY KEY, StudentName varchar(8) NOT NULL, Sex bit, Birthday smalldatetime, ClassID int )12、使用企業管理器修改表的結構使用企業管理器將第1題所建立的Course表中的Category字段修改為varchar(20),為Period和Credit字段默認值為0。13、使用T-SQL語句修改表的結構使用T-SQL語句為Student表添加Nation(民族)字段和Stature(身高)字段,字段數據類型自定。ALTER TABLE StudentADD Nation varchar(8

22、),Stature intDrop column Nation,Stature14、使用企業管理器實現對數據的操作使用企業管理器按下表向Course添加數據。課程號課程名稱課程類別學時數學分1哲學公共 3622實用英語(1)公共 7233實用英語(2)公共 7234計算機應用基礎公共 10255C語言程序設計專業基礎10256關系數據庫技術基礎專業基礎1025四、思考題1.一個數據庫中包含哪幾種文件?2.事務日志文件的大小一般為數據文件大小的多少合適?3.若需修改數據庫文件的大小,可以使用的方法有哪些?若要求使用T-SQL語言,則命令應如何編寫?4.能不能刪除master數據庫?若一個用戶數據

23、庫當前正在被訪問,能不能被刪除?實驗3 SQL數據操作與查詢實驗一、實驗目的1了解T-SQL語句的基本語法。2掌握基本的SELECT語句的設計和編寫。3掌握多表查詢的使用。4熟悉UNION子句的使用。5掌握GROUP BY子句的使用。6練習使用企業管理器、向導和查詢分析器創建視圖。7會使用視圖、修改視圖、查詢視圖的信息和刪除視圖。8進一步掌握使用T-SQL語句實現對數據的操作。二、實驗內容與步驟利用上次實驗所創建的student數據庫進行實驗。1、使用T-SQL語句實現對數據的操作(1)使用INSERT語句向Course表中添加記錄:(計算機網絡,專業基礎,72,4)insert Course

24、(CourseName,Category,Period,Credit) values('計算機網絡','專業基礎','72','4')(2)使用UPDATE語句將Course表中的“計算機應用基礎”課的學時數改為106。update Course set Period='106' where CourseName='計算機應用基礎'(3)使用DELETE語句將Course表中的公共課全部刪除。DELETE FROM Course where Category='公共'2、使用T-SQ

25、L語句按下表結構創建表(在創建表時定義約束)表名:Grade屬性名稱屬性描述數據類型字節數空否約束備注StudentNum學號char9否主鍵CourseID課程號int4否主鍵DailyGrade平時成績decimal5,1不小于0且不大于20PracticeGrade實踐成績decimal5,1不小于0且不大于30TestGrade期末成績decimal5,1不小于0且不大于50Grade總評由平時成績(20%)、實踐成績(30%)和期末成績(50%)計算而來create table Grade( StudentNumchar(9) not null, CourseIDint not nu

26、ll, DailyGradedecimal(5,1), PracticeGradedecimal(5,1), TestGradedecimal(5,1), Grade as DailyGrade*0.20+ PracticeGrade*0.30+ TestGrade*0.50 constraint pk_sc primary key(StudentNum,CourseID) , constraint ck_dg check(DailyGrade>0 and DailyGrade<20), constraint ck_pg check(PracticeGrade>0 and P

27、racticeGrade<30), constraint ck_tg check(TestGrade>0 and TestGrade<50) )3、使用T-SQL語句修改表的結構(1)為班級表ClassInfo添加入學時間EnrollDate字段,并定義入學時間不小于2001年9月1日。alter table ClassInfo Add EnrollDate datetime,check (EnrollDate >= '2001-9-1')(2)為班級表ClassInfo定義主鍵約束,定義班級號ClassID為主鍵。alter table ClassIn

28、fo add constraint pk_ClassInfo primary key(ClassID)4、使用企業管理器定義約束(1)為學生表Student定義外鍵約束,使ClassID參照班級表ClassInfo中的ClassID,并為約束設置級聯更新。(2)為班級表ClassInfo的ClassName定義唯一約束。5、 默認值對象的創建與使用(1)使用T-SQL語句創建名為DF_GRADE的默認值對象,值為0。CREATE DEFAULT DF_GRADE AS 0(2)使用企業管理器將DF_GRADE綁定到成績表Grade中的DailyGrade、PracticeGrade和TestG

29、rade字段上。exec sp_bindefault DF_GRADE,'Grade.DailyGrade'exec sp_bindefault DF_GRADE,'Grade.PracticeGrade'exec sp_bindefault DF_GRADE,'Grade.TestGrade'(3)使用sp_unbindefault存儲過程將DF_GRADE從DailyGrade、PracticeGrade和TestGrade字段上解除。exec sp_unbindefault 'Grade.DailyGrade'exec sp

30、_unbindefault 'Grade.PracticeGrade'exec sp_unbindefault 'Grade.TestGrade'(4)刪除DF_GRADE默認值對象。DROP DEFAULT DF_GRADE在查詢分析器在窗口下用SELECT語句完成單表查詢:5、SELECT語句的基本使用 查詢學生基本信息表中的每個學生的所有數據。Select * from stud_info 在學生基本信息表中查詢每個學生的地址和電話。Select address,telcode from stud_info 查詢學號為“0401010634”的學生的地址和

31、電話。Select address,telcode from stud_info where stud_id='0401010634' 查詢stud_info表中性別為“女”的學生的地址和電話。使用AS子句將結果中指定目標列的標題分別指定為地址,電話。Select address as 地址,telcode as 電話 from stud_info where gender=N'女' 查詢計算機應用教研室“0101”的教師工資情況。Select name,salary from teacher_info where jysh_id='0101'

32、找出所有姓“王”的教師所對應的技術職稱。Select name,tech_title from teacher_info where name like '王%' 在學生成績表中查詢成績在8089之間的學生的學號、課程號和成績。Select stud_id,course_id,grade from stud_grade where grade between 80 and 896、子查詢的使用 查找在計算機工程系“01”工作的教師的情況。Select * from teacher_info where jysh_id in (select jysh_id from staffr

33、oom_info where deptcode='01') 查找計算機工程系“01”中所有擔任多媒體技術“0401010106”的教師編號和姓名。Select teacher_id,name from teacher_info where jysh_id in (select jysh_id from staffroom_info where deptcode='01') and course_id='0401010106' 查找計算機應用技術專業的學生學號、姓名、年齡、電話號碼及其家庭地址。Select stud_id,name,year(ge

34、tdate()-year(birthday) age,telcode,address from stud_info where speccode =(select speccode from specialty_code where specname='計算機應用技術')7、連接查詢的使用 在stud_info與stud_grade中按stud_id進行等值內連接,以查詢所有參加考試的學生基本信息和成績。Select a.*,b.grade from stud_info a inner join stud_grade b On a.stud_id=b.stud_id 實現tea

35、cher_info左外連接lesson_info。Select * from teacher_info a left outer join lesson_info b On a.course_id=b.course_id8、數據匯總 查詢全體教師的平均工資。Select avg(salary) from teacher_info 求計算機工程系“01”教師的平均年齡。Select avg(age) from teacher_info where jysh_id in(select jysh_id from staffroom_info where deptcode='01')

36、求計算機工程系“01”教師的總人數。Select count(*) from teacher_info where jysh_id in(select jysh_id from staffroom_info where deptcode='01')9、GROUP BY、ORDER BY子句的使用 按職稱統計各個教研室的教師人數。Select jysh_id,count(*) from teacher_info group by jysh_id 將計算機工程系“01”職稱為“講師”的教師,按年齡由低到高排列。Select * from teacher_info where jys

37、h_id in(select jysh_id from staffroom_info where deptcode='01') order by age 10、熟悉pubs數據庫中的三個用戶表:employee(emp_id,fname,minit,lname,job_id,job_lvl,pub_id,hire_date),job(job_id,job_desc,min_lvl,max_lvl),publishers(pub_id,pub_name,city,state,country)。他們分別是關于雇員、職務和出版社的基本表。11、在查詢分析器在窗口下用SELECT語句完

38、成單表查詢: 查詢全體出版社的詳細記錄;Select * from publishers 查詢所有工作的job_id為7的職工的職工編號;Select emp_id from employee where job_id=7 查詢工作的job_id小于7的職工的職工編號;Select emp_id from employee where job_id<7 查詢在Germany和France的出版社的名字和所在城市;Select pub_name,city from publishers where country='Germany' or country='Fran

39、ce' 查詢lastname為Jablonski的雇員的firstname、job_id和hire_date;Select emp_id from employee where job_id<7 查詢lastname的前兩個字符為cr的職員的編號和firstname;select emp_id,fname from employee where lname like 'cr%' 查詢job_id為5的職員的編號和job_lvl,查詢結果按job_lvl的降序排列;select emp_id,job_lvl from employee where job_id=5

40、order by job_lvl desc 查詢job_id為13的職員中job_lvl最高的職員的firstname 和lastname。select top 1 fname,lname from employee where job_id=13 order by job_lvl desc12、在查詢分析器在窗口下用SELECT語句完成連接(嵌套)查詢: 查詢各個工作號與相應的工作人數;select job_id,count(*) from employee group by job_id 查詢每個職工及其工作的描述(job_desc)的情況;select employee.*,job_de

41、sc from employee inner join jobs on employee.job_id = jobs.job_id 查詢每個職工及其工作職務名其及所在出版社的名字;select a.*,b.job_desc,c.pub_name from employee a inner join jobs b on a.job_id = b.job_id inner join publishers con a.pub_id = c.pub_id 查詢與“Annette”(firstname)在同一個出版社工作的職工的firstname;select fname from employee w

42、here pub_id=(select pub_id from employee where fname='Annette') 查詢在美國工作的員工中工作職務為Editor的員工的fname 和lname;select fname,lname from employee where job_id=(select job_id from jobs where job_desc='Editor' )and pub_id in (select pub_id from publishers where country='USA' ) 查詢在New Moo

43、n Books這個出版社工作的員工中job_lvl大于100的職工的姓名和其所作工作的描述;select a.fname,a.lname,b.job_desc from employee a inner join jobs bon a.job_id=b.job_id where job_lvl>100 and pub_id in(select pub_id from publishers where pub_name='New Moon Books' )13、在查詢分析器在窗口下用SELECT語句完成集合查詢:查詢job_id為5和job_id為6的職工的姓名和職工所在出

44、版社的名字。select a.*,b.pub_name from employee a inner join publishers bon a.pub_id=b.pub_id where job_id=5 or job_id=614、使用企業管理器創建一個名為“view_1”的視圖,內容是顯示學生表Student中計算機應用技術“040101”的學生的學號、姓名和性別。create view view_1 As select stud_id,name,gender from stud_info where speccode='040101'15、使用查詢分析器創建一個名為“vi

45、ew_2”的視圖,內容是顯示學生表中沒有選修課程的學生的學號、姓名和班級,并且為該視圖加密。create view view_2 with encryption As select stud_id,name,speccode from stud_info where stud_id not in(select stud_id from stud_grade)16、使用查詢分析器修改名為“view_1”的視圖,內容修改為顯示學生表中男生的學號、姓名、性別和專業代碼,并且以后所有對該視圖的更新操作都必須符合所設定的條件。alter view view_1 As select stud_id,nam

46、e,gender,speccode from stud_infowhere gender=N'男' with check option16、查詢視圖“view_1”中專業代碼為040102的學生所有信息。select * from view_1 where speccode='040102'17、向視圖“view_1”中的所有字段插入一條記錄。insert view_1 values('0402010999','李四','男','040201')實驗4 Transact-SQL數據庫編程實驗一、實驗

47、目的1掌握Transact-SQL的基礎知識。2掌握流程控制語句和功能性語句的格式及應用。3掌握存儲過程和觸發器的應用。二、實驗內容與步驟在查詢分析器在窗口下用T-SQL語句完成下列操作:1、從數據表stud_info中,查找學號為0401030213的學生,找到則顯示:“您好!XX同學”,否則顯示“未找到”。if exists (select * from stud_info where stud_id='0401030213')print '您好!XX同學'elseprint '未找到' 2、從數據庫teacher_info中,選取teach

48、er_id、name、gender,如果gender為“女”則輸出“女士”,如果為“男”則輸出“先生”。SELECT teacher_id,name,sex=CASE gender WHEN N'男' THEN N'先生' WHEN N'女' THEN N'女士' ELSE '未知' END from teacher_info3、計算1100之間所有能被3整除的數的個數及總和。declare x int,s intset x=3set s=0while (x<100) begin set s=s+x set

49、x=x+3 endprint s4、計算s=1!+2!+10!。declare n int,s int,i int,st intset n=1set s=0while (n<=10) begin set i=1 set st=1 while (i<=n) begin set st=st*i set i=i+1 end set s=s+st set n=n+1 endprint s5、輸出字符串“School”中每一個字符的ASCII值和字符。declare pos int,str char(6),len int,ch char(1)set pos=1set str='Sch

50、ool'set len=datalength(str)while pos<=lenbegin set ch=substring(str,pos,1) select ch ascchar,ascii(ch) asccode set pos=pos+1end6、從stud_grad表中查詢所有同學考試成績情況,凡成績為空者輸出“未考”,小于60分輸出“不及格”,60分(含60分)至70分輸出“及格”,70分(含70分)至80分輸出“良好”,大于等于80分輸出“優秀”。select stud_id,score=case when grade is null then '未考&#

51、39; when grade<60 then '不及格' when grade<70 then '及格' when grade<80 then '良好' when grade>=80 then '優秀' endfrom stud_grade7、查詢pubs數據庫的employee表,如果表中雇員的平均服務時間長于10年,則打印信息:我們的雇員都很忠誠:),否則打印信息:我們的雇員經常跳槽:(。use pubsgoif (select avg( datediff(year,hire_date,getdate(

52、) ) from employee) > 10 print '我們的雇員都很忠誠:)'else print '我們的雇員經常跳槽:('8、查詢pubs數據庫中employee表,顯示相關雇員信息(id,姓名,服務時間等),其中增加一個雇員類型列:如果雇傭時間長于12年,則顯示他為新雇員,否則顯示他為老雇員。use pubsgoselect Emp_ID, LName + '.' + FName '姓名', datediff(year,hire_date,getdate() as 'age' , '雇員

53、類型' = case when datediff(year,hire_date,getdate() < 12 then '新雇員' when datediff(year,hire_date,getdate() >= 12 then '老雇員' endFrom employeeOrder by age9、創建一個名為“proc_1”的存儲過程,用于查看學生表的所有信息。然后調用該存儲過程。create procedure proc_1as select * from stud_info10、創建一個名為“proc_2”的存儲過程,用于向學生表的

54、所有字段添加一條記錄,記錄內容由調用時決定。然后調用該存儲過程。CREATE PROCEDURE proc_2 (stud_id_1 char(10), name_2 nvarchar(4), birthday_3 datetime, gender_4 nchar(1), address_5 nvarchar(20), telcode_6 char(12), zipcode_7 char(6), mark_8 decimal, speccode_9 char(6)AS INSERT INTO stud_info( stud_id,name,birthday,gender,address,tel

55、code, zipcode,mark,speccode) VALUES ( stud_id_1,name_2,birthday_3,gender_4,address_5, telcode_6,zipcode_7,mark_8,speccode_9)11、創建一個名為“proc_3”的存儲過程,用于刪除學生表中指定學號的記錄,具體學號由調用時決定。然后調用該存儲過程。CREATE PROCEDURE proc_3 stud_id_1 char(10)AS DELETE FROM stud_info WHERE stud_id=stud_id_112、修改存儲過程“proc_4”,用于查詢不小于指定成績的學生的基本信息,具體成績由調用時決定。create procedure proc_4 grade_1 decimal(4,1)as select * from stud_info where stud_id in(select stud_id from stud_grade where grade>=grade_1) 13、創建一個名為“proc_5”的存

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論