第一篇:數據庫實驗報告 SQL語言
數據庫原理及實驗報告
實驗6 視圖
實驗目的:1)掌握交互式創建、刪除視圖的方法
2)掌握使用SQL創建、刪除視圖的方法
3)掌握交互式更新視圖的方法
4)掌握使用SQL更新視圖的方法 實驗內容
6.1實驗題目:創建視圖
實驗過程:1)交互式創建視圖VIEW_S
2)交互式創建成績視圖VIEW_SCORETABLE
3)使用SQL創建課程表視圖VIEW_CTABLE
實驗結果:
6.2實驗題目:修改視圖
實驗過程:1)使用交互式方法把視圖VIEW_S中的字段SNO刪掉
2)使用SQL為視圖VIEW_CTABLE增加一個課時字段CT tiny int
實驗結果:
6.3實驗題目:通過視圖修改數據庫數據
實驗過程:1)交互式通過修改視圖VIEW_S中的數據來實現對其基本表S中數據的修改
2)對視圖VIEW_S執行INSERT語句,查看此視圖的基本表S中數據的變化
3)修改視圖VIEW_S的定義,使其包含表S中的主鍵,再執行插入操作
4)用SQL語句對視圖VIEW_S執行DELETE操作,查看此視圖的基本表S中數據的變化 實驗結果:
6.4實驗題目:刪除視圖
實驗過程:1)交互式刪除視圖VIEW_S
2)使用SQL刪除視圖VIEW_CTABLE
實驗結果:
實驗7 數據查詢
實驗目的:1,掌握從簡單到復雜的各種數據查詢。包括,單表查詢、多表連接查詢、嵌套查詢、集合查詢。
2,掌握用條件表達式表示檢索結果。
3,掌握用聚合函數計算統計檢索結果。實驗7.1 單表查詢
實驗目的:1,掌握指定列或全部列查詢。
2,掌握按條件查詢。
3,掌握對查詢結果排序。
4,掌握使用聚集函數的查詢。
5,掌握分組統計查詢。實驗內容:1,指定或全部列查詢。
2,按條件查詢及模糊查詢。
3,對查詢結果排序。
4,使用聚集函數的查詢。
5,分組統計查詢。
實驗7.2 連接查詢 實驗目的:掌握設計一個以上數據表的查詢方法。多表之間的連接包括等值連接、自然連接、非等值連接、自身連接、自身連接、外連接和復合連接。
實驗內容:1,連接查詢,查詢所有選課學生的學號、姓名、選課名稱及成績。
查詢每門課程的課程號、任課教師姓名及其選課人數。
2,自身連接,查詢所有比劉偉工資高的的教師的姓名、工資及劉偉的工資。
查詢同時選修了程序設計和微機原理的學生的姓名、課程號。
3,外連接,查詢所有學生的學號、姓名、選課名稱及成績(沒有選課的學生的選課信息顯示為空)
實驗結果
實驗7.3 嵌套查詢
實驗目的:掌握嵌套查詢使我們可以用多個簡單查詢構成復雜的查詢。從而增強了SQL的查詢能力。
實驗內容:1,返回一個值的子查詢,查詢與劉偉教師職稱相同的教師號、姓名和職稱。
2,返回一組值的子查詢,使用ANY謂詞查詢講授課程號為C5的教師姓名。使用IN謂詞查詢講授課程號為C5的教師姓名。使用ALL謂詞查詢其他系中比計算機系所有教師工資都高的教師的姓名、工資、使用EXISTS謂詞查詢沒有講授課程號為C5的課程的教師姓名、所在系.使用NOT EXISTS謂詞查詢至少選修了學生S2選修的全部課程的學生的學號。實驗結果
實驗7.4 集合查詢
實驗目的:掌握使用UNION操作符將來自不同查詢但結構相同的數據集合組合起來,形成一個具有綜合信息的查詢結果。
實驗內容:查詢年齡不大于19歲或者屬于計算機系的學生,步驟如下:打開新建查詢窗口,創建SQL語句。執行語句。
實驗結果
實驗十.T-SQL程序設計與游標設計
實驗目的
掌握Transact-SQL語言及其程序設計的方法 掌握T-SQL游標的使用方法
實驗10.1 T-SQL程序設計邏輯 實驗目的
掌握T-SQL程序設計的控制結構及程序設計邏輯 實驗內容
(1)計算1~100之間所有能被3整除的數的個數和總和。
(2)從學生表S中選取SNO,SN,SEX,如果為“男”則輸出M,如果為“女”則輸出F。實驗 10.2 面向復雜T-SQL程序設計 實驗目的
掌握面向復雜應用的T-SQL程序設計方法。實驗內容
(1)從教學數據庫jxsk中查詢所有同學選課成績情況:姓名,課程名,成績。要求:凡成績為空者輸出“未考”;小于60分的輸出“不及格”;60~70分的輸出“及格”;70~80分的輸出“中”;80~90分輸出“良好”;90~100分輸出優秀。并且輸出記錄按照下面要求排序:先按SNO升序,再按CNO升序,最后按成績降序。
(2)現給教師增加工資。要求:必須任兩門以上課程且漲幅按總收入分成三個級別:4000元以上漲300;3000元以上漲200;3000元以上漲100。只任一門課程的漲50.其他情況不漲。
實驗 10.2 使用游標 實驗目的
學習和理解關系數據中游標的概念和設計思想。掌握使用T-SQL游標處理結果集的方法。實驗內容
針對數據庫jiaoxuedb,進行下面的實驗:
(1).定義一個游標Cursor_Famale。要求該游標返回所有女同學的基本信息,在游標中查找并顯示牛莉的記錄。(2).創建一個一個儲存過程Pro_C,返回一個包含所有選修數據庫課程的學生基本信息的游標。利用該存儲過程,通過學生姓名查找學生王一山是否選修了數據庫課程以及成績。
第二篇:數據庫sql語言總結
插入句型:
insertinto<表名> [各屬性名]values(<常量1>,<常量2>……)
刪除元組或者二維表:
delete from<表名>[ where <條件> ]
刪除屬性:
altertable<表名>dropcolumn<列名>
增加某表的屬性:
altertable<表名>add<列名> 類型
修改句型:
update<表名>set<列名> =<表達式>[where<條件>]
修改某表當中的屬性類型:
altertable<表名>altercolumn<列名><轉換的類型>;
顯示表的一些基本情況
EXEC sp_help'<表名>'
更改當前數據庫中用戶創建對象(如表、列或用戶定義數據類型)的名稱 sp_rename ‘<舊的表名>’, ‘<新的表名>’
修改表的列名 sp_rename'<表名>.
小注:上面的語句最后不需要加分號
判斷表中是否存在某列的語句
if exists(select * from syscolumns where id = object_id('stu')and name='Sno')
print 'stu exists'
else print 'stu not exists'
將表中的某列設置為主碼:
alter table stu addSno char primary key;
判斷表是否存在if exists(select count(*)from sysobjects where type='U' and name='stu')
查詢某個表中字段的列名和數據類型
select column_name,data_type from information_schema.columns where table_name = '表名';
第三篇:SQL數據庫實驗報告 實驗二
實驗2SQL Server數據庫的管理
1.實驗目的(1)了解SQL Server 數據庫的邏輯結構和物理結構的特點。
(2)掌握使用SQL Server管理平臺對數據庫進行管理的方法。
(3)掌握使用Transact-SQL語句對數據庫進行管理的方法。
2.實驗內容及步驟
(1)在SQL Server管理平臺中創建數據庫。
① 運行SQL Server管理平臺,在管理平臺的對象資源管理器中展開服務器。
② 右擊“數據庫”項,在快捷菜單中選擇“新建數據庫”菜單項。在新建數據庫對話框的數據庫名稱文本框中輸入學生管理數據庫名studentsdb,單擊“確定”按鈕。
(2)選擇studentsdb數據庫,在其快捷菜單中選擇“屬性”菜單項,查看“常規”、“文件”、“文件組”、“選項”、“權限”和“擴展屬性”等頁面。
(3)打開studentsdb數據庫的“屬性”對話框,在“文件”選項卡中的數據庫文件列表中修改studentsdb數據文件的“分配的空間”大小為2MB。指定“最大文件大小”為5MB。修改studentsdb數據庫的日志文件的大小在每次填滿時自動遞增5%。
(4)單擊“新建查詢”打開查詢設計器窗口,在查詢設計器窗口中使用Transact-SQL語句CREATE DATABASE創建studb數據庫。然后通過系統存儲過程sp_helpdb查看系統中的數據庫信息。
(5)在查詢設計器中使用Transact-SQL語句ALTER DATABASE修改studb數據庫的設置,指定數據文件大小為5MB,最大文件大小為20MB,自動遞增大小為1MB。
(6)在查詢設計器中為studb數據庫增加一個日志文件,命名為studb_Log2,大小為5MB,最大文件大小為10MB。
(7)使用SQL Server管理平臺將studb數據庫的名稱更改為student_db。
(8)使用Transact-SQL語句DROP DATABASE刪除student_db數據庫。
3.實驗思考
(1)數據庫中的日志文件是否屬于某個文件組?
(2)數據庫中的主數據文件一定屬于主文件組嗎?
(3)數據文件和日志文件可以在同一個文件組嗎?為什么?
(4)刪除了數據庫,其數據文件和日志文件是否已經刪除?是否任何人都可以刪除數據庫?
(5)能夠刪除系統數據庫嗎?
第四篇:SQL數據庫制作考務管理系統實驗報告
一、實驗目的1. 掌握sql server的基本用法
2. 熟悉掌握asp語言的應用
3. 掌握asp的頁面結構和內置對象
4. 掌握asp與sql server數據庫的連接和應用
5. 掌握asp 另外一個重要的語言——javascript,并熟悉它的應用
6.制作一個功能完善的考務管理系統
7.能夠獨立的完成系統策劃,系統分析和程序的編寫
8.提高發現問題,解決問題的能力
二、實驗內容
制作一個考務管理系統,用于從考生報名、產生準考證到錄取考生和打印成績單即對考生考試和錄取全過程的考務管理,系統要實現的功能有:考生報名,按報名順序產生報名號;產生準考證號和打印準考證;輸入考生成績和輸入錄取合格標準;根據合格標準錄取上線考生;打印考生成績單和錄取通知書;設置系統用戶和系統初始化。
三、實驗環境
1、windows xp或 windows XX;
2、安裝 microsoft sql server XX 個人版。
3、iis 5.0及以上版本和瀏覽器ie5.5及以上版本
4、macromedia dreamwezver8等相關軟件
四、實驗步驟
首先:配置環境,安裝sql server,macromedia dreamwezver8。
第二:對要做的系統進行構思、策劃、布局。
第三:建立數據庫kaoshi及數據表:學生信息表(student),用戶表(yonghu),考生表(biaozhun)。
第四:建立連接數據庫的文件conn.asp,其代碼如下所示:
<%
set conn=server.createobject(“adodb.connection”)
conn.open “provider=sqloledb;” & “data source=localhost;initial catalog=ksd;user id=sa;password=100200;”
%>
第五:制作各個網頁并聯接所有需要聯接的網頁。
第六:運行整個系統,查找是否有錯誤,并進行修改直至整個系統運行無誤。
五、實驗過程與分析
(一)系統分析與總體設計
現在用計算機來進行考生的管理及考生的錄取已普遍存在。因如果用人來進行這項工作將十分煩瑣,系統管理員需要劃分很多的時間和精力,而且還不能保證其正確率。
而用考務管理系統可以簡化管理員的工作,還會提高工作的正確率。以下將對考務管理系統進行系統分析和設計。
(1)系統的功能描述
考務管理系統包括學生報名管理、考生成績管理系統維護三大模塊。
考生報名管理 包括報名處理、產生準考證、打印準考證和退出系統等4項功能。
考生成績管理 包括考生成績錄入、合格標準錄入、錄取考生、打印成績單和打印錄取通知單等5項功能。
系統維護 包括用戶設置和系統初始化等2項功能。
用戶通過系統菜單執行相應的操作。
(2)數據庫設計
本系統以sql server XX作為數據庫平臺。在sql server XX中設計一個數據庫kaoshi,其中包含如下數據表。
1.student表
該表用于存放所有考生記錄,包括基本數據.表的結構如圖2所示。
2biaozhun表
該表用于存放錄取考生的合格標準,其中只有一個記錄,該記錄指出各門課程的最低分和總分的最低分。只有各門成績和總分都超過這個標準的考生才能被錄取。該表的結構如圖3所示。
3.yonghu表
該表用于存放本系統用戶的信息。包括用戶的用戶名、密碼和級別(只分“一般操作員”和“系統管理員”兩類)。該表結構如圖4所示。
六、實驗結果與總結
實驗中的考務管理系統是經過很多次的測試、修改再測試、再修改才完成的。也就是在多次的測試修改的過程中使我學發現了很多平時上課發現不了的問題,也發現了自己學習這門課程的薄弱的地方和學的不足的地方。通過實驗期間的發現問題、分析問題、查找問題原因、解決問題及進一步完善考務管理系統的過程,我的能力和水平有一定程度的提高。經過一次獨立完成系統給我以后編程打下了基礎,讓我面對的不再是茫然和無措,而是有條不紊的思緒和完成的信心。所以這次實驗對我來說是一筆極大的財富。
當然,在實驗中我也有很多不足的地方,系統也有需要進一步完善的地方,這主要是我對asp與sql server數據庫的連接和應用不熟悉和經驗不足的原因造成的。所以我還要在以后繼續學習,以求做的更好。
第五篇:SQL數據庫心得
黃淮學院 2015---2016學年第 一 學期 《C#數據庫應用程序開發技術與案例教程》課程
題目:
學習報告
院
系:數學科學系 專
業:數學與應用數學 年
級:1301B 姓
名:曹占營 學
號:1331110101 任課教師:楊鋒英
2015年 12 月 30日
C#數據庫學習報告
在日常生活中,我們和朋友、親戚聯系,會廣泛用到通訊錄,因此這門課程以通訊錄開發為案例,教我們學習軟件開發。
軟件開發是一項非常注重實踐工作,不可能只憑看書、看視頻就學會軟件開發,必須扎扎實實、一行一行的編寫代碼,不斷積累項目經驗,才能真正掌握編程技術,所以我們要親自上級編寫程序,才能真正掌握軟件開發技術。
本書分為基礎篇、進階篇、高級篇,由淺入深地介紹了基于C#的數據庫編程技術,所用的開發工具為Visual Studio 2008、SQL Server 2005以及Access 2007。
學習數據庫的內容是從數據庫、數據表的創建和修改開始的,表是建立關系數據庫的基本結構,用來存儲數據具有已定義的屬性,在表的操作過程中,有查看表信息、查看表屬性、修改表中的數據、刪除表中的數據及修改表和刪除表的操作。從課程中讓我更明白一些知識,查詢可以通過SQL語言進行完成,這樣加深了查詢語句的基本結構,讓我們能更好的掌握其中語句,方便于我們后面的學習和應用。表是數據最重要的一個數據對象,表的創建好壞直接關系到數數據庫的成敗,表的內容是越具體越好,但是也不能太繁瑣,以后在實際應用中多使用表,對表的規劃和理解就會越深刻。在編程方面是需要我們對于編程有邏輯思維能力及一定的編程技巧。在數據庫中插入表、表中的信息等都需要注意,不然很容易出錯。
在基礎篇中,詳細講解了通訊錄系統的設計、開發和安裝部署這樣一個完整過程,對各個任務進行詳細講解。基礎篇學習分為9個任務,分別為系統分析與設計、用戶登錄、主窗體設計、聯系人分組管理、聯系人管理、用戶密碼修改、數據庫備份與恢復、設計“關于”窗體、系統安裝與部署。學完基礎篇,即可開發出一個功能較為完備的通訊錄系統。在聯系人管理任務學習中,由于在Contact表中保存的是分組編號,而窗體上要顯示的是分組名稱,所以在查詢語句中需要級聯查詢,即SQL語句為”select Contact.Id, Name, Phone, Email, QQ, GroupName from Contact, ContactGroup where Contact.GroupId = ContactGroup.Id”。為了實現代碼復用,可以提供查詢功能,根據用戶選擇的擦尋天劍,拼接產生SQL語句。同時為了支持模糊查詢,還在SQL語句中用了like語句。通過SqlDataAdapter的Fill方法填充數據集,獲取數據。數據集中有了數據以后,我們只需設置DataGridView控件的DataSource屬性,就可以顯示數據了。
在進階篇中,介紹了企業項目開發中廣發用到的參數化SQL語句、存儲過程使用及定義數據庫操作類,分為3個任務學習,分別為使用參數化SQL語句、使用存儲過程、使用自定義數據庫操作類,進一步提高我們的數據庫編程能力。在使用存儲過程任務學習中,了解到存儲過程是在大型數據庫系統中,一組為了完成特定功能的SQL語句集,經編譯后存儲在數據庫中,用戶通過指定存儲過程的名字并給出參數(如果該存儲過程帶有參數)來執行它。在性能方面,存儲過程有如下的優點。(1)與編譯,存儲過程預先編譯好放在數據庫內,減少編譯語句所花的時間。(2)緩存,編譯好的存儲過程會進入緩存,所以對于經常執行的存儲過程,除了第一次執行外,其他次執行的書都會有明顯提高。(3)減少網絡傳輸,特別對于處理一些數據的存儲過程,不必像直接用SQL語句實現那樣多次傳送數據到客戶端。通過前面的學習,細細體會對數據庫的操作,可以發現,這么多操作其實可以分為4種。(1)對數據庫進行非連接式查詢操作,返回多條記錄。這種操作可以通過SqlDataAdapter對象的Fill方法來完成,即把查詢得到的結果填充到DataTable(或DataSet)對象中。(2)對數據庫進行連接式查詢操作,返回多條查詢記錄。這種操作可以通過SqlCommand對象的ExecuteReader方法來完成,返回SqlDataReader對象。(3)從數據庫中檢索單值。這種操作可以通過SqlCommand對象的ExecuteNonQuery方法來完成。ExecuteScalar方法返回的是Object類型,需要根據實際情況進行類型轉換。(4)對數據庫執行增、刪、改操作。這種操作可以通過SqlCommand對象的ExecuteNonQuery方法來完成,返回增、刪、改操作后數據庫中受影響的行數。
在高級篇中,分為4個任務學習,分別為開發基于三層構架的通訊錄程序、開發基于Access的通訊錄程序、實現基于抽象工廠模式的三層架構、使用MD5加密用戶密碼。首先詳細講解了基于三層構架的通訊錄程序開發過程以及如何開發一個基于Access的通訊錄系統。最后,介紹了如何采用MD5加密技術對用戶密碼加密。MD5加密技術也是實際項目開發中廣泛用到的,通過MD5加密用戶密碼,可以提高程序的安全性。“三層架構”一詞中的“三層”是指:“表示層”、“業務邏輯層”、“數據訪問層”。表示層:位于最外層,離用戶最近。用于顯示和接收用戶輸入的數據,為用戶提供一種交互式操作界面。表示層的常見形式為WinFrom和WebForm。業務邏輯層:負責處理用戶輸入的信息,或者是將這些信息發送給數據訪問層進行保存,或者是調用數據訪問層中的函數再次讀出這些數據。業務邏輯層也可以包括一些對“商業邏輯”描述代碼在里面。數據訪問層:僅實現對數據的保存和讀取操作。可以訪問數據庫系統、二進制文件、文本文檔或是XML文檔。
在這一學期有限的幾次實驗課后,我雖然沒有學會很多,但也學會了一些簡單的操作,我學會了一些簡單的數據運算,會建立一些簡單的表。有時候在做實驗時,對于實驗中的一些東西我不怎么了解,但我還會去做,因為我想只有多練習才能熟練,也才能理解掌握知識。我不知道這一門課對其他同學來說怎么樣,但對我來說卻有些難,但我會努力。因為我認為它對我以后考計算機二級有很大的幫助。
很快這一學期馬上就要結束了,數據庫這一門課也很快就要結束了,但這一學期的學習讓我知道了很多,也告訴了我在以后的人生中如何去做事,如何去做人。尤其是老師的耐心,老師的敬業精神感動了我,再做任何事時都應該認真負責,任何一個人都應該被尊重。