一、實驗目的
1.掌握在SQL Server中使用對象資源管理器和SQL命令創建數據庫與修改數據庫的方法。
2.掌握在SQL Server中使用對象資源管理器或者SQL命令創建數據表和修改數據表的方法(以SQL命令為重點)。
3.掌握無條件查詢的使用方法。
4.掌握條件查詢的使用方法。
二、實驗內容
給定如表3.6、表3.7和表3.8所示的學生信息。
表3.6? 學生表
學號 | 姓名 | 性別 | 專業班級 | 出生日期 | 聯系電話 |
0433 | 張艷 | 女 | 生物04 | 1986-9-13 | |
0496 | 李越 | 男 | 電子04 | 1984-2-23 | 1381290×××× |
0529 | 趙欣 | 男 | 會計05 | 1984-1-27 | 1350222×××× |
0531 | 張志國 | 男 | 生物05 | 1986-9-10 | 1331256×××× |
0538 | 于蘭蘭 | 女 | 生物05 | 1984-2-20 | 1331200×××× |
0591 | 王麗麗 | 女 | 電子05 | 1984-3-20 | 1332080×××× |
0592 | 王海強 | 男 | 電子05 | 1986-11-1 |
表3.7? 課程表
課程號 | 課程名 | 學分數 | 學時數 | 任課教師 |
K001 | 計算機圖形學 | 2.5 | 40 | 胡晶晶 |
K002 | 計算機應用基礎 | 3 | 48 | 任泉 |
K006 | 數據結構 | 4 | 64 | 馬躍先 |
M001 | 政治經濟學 | 4 | 64 | 孔繁新 |
S001 | 高等數學 | 3 | 48 | 趙曉塵 |
表3.8? 學生作業表
課程號 | 學號 | 作業1成績 | 作業2成績 | 作業3成績 |
K001 | 0433 | 60 | 75 | 75 |
K001 | 0529 | 70 | 70 | 60 |
K001 | 0531 | 70 | 80 | 80 |
K001 | 0591 | 80 | 90 | 90 |
K002 | 0496 | 80 | 80 | 90 |
K002 | 0529 | 70 | 70 | 85 |
K002 | 0531 | 80 | 80 | 80 |
K002 | 0538 | 65 | 75 | 85 |
K002 | 0592 | 75 | 85 | 85 |
K006 | 0531 | 80 | 80 | 90 |
K006 | 0591 | 80 | 80 | 80 |
M001 | 0496 | 70 | 70 | 80 |
M001 | 0591 | 65 | 75 | 75 |
S001 | 0531 | 80 | 80 | 80 |
S001 | 0538 | 60 | 80 |
1.在SQL Server中使用對象資源管理器和SQL命令創建學生作業管理數據庫,數據庫的名稱設置為學號姓名。
(1)使用對象資源管理器創建數據庫,請給出重要步驟的截圖。
1)創建數據庫,輸入數據庫名稱為學號姓名,點擊添加按鈕:
2)添加完成后即可在數據庫中看到已添加的數據庫。
(2)刪除第(1)步創建的數據庫,再次使用SQL命令創建數據庫,請給出SQL代碼。
1)刪除上一步創建的數據庫,選中數據庫右鍵刪除即可。
2)使用SQL命令創建數據庫,SQL代碼如下:
create database 你的學號姓名
執行此段代碼后,刷新即可成功創建數據庫。
(3)創建數據庫之后,如果有需要,可以修改數據庫。
2.對表3.6,表3.7和表3.8,分別以下表的方式給出各字段的屬性定義和說明。
(1)對表3.6進行定義說明,見下表3.6.1
表3.6.1 學生表
字段名 | 數據類型 | 長度或者精度 | 默認值 | 完整性約束 |
id | varchar | 10 | Not null Primary key | |
name | varchar | 10 | null | |
sex | varchar | 5 | null | |
class | varchar | 10 | null | |
birth | varchar | 15 | null | |
phone | varchar | 20 | null |
(2)對表3.7進行定義說明,見下表3.7.1
表3.7.1 課程表
字段名 | 數據類型 | 長度或者精度 | 默認值 | 完整性約束 |
CourseId | varchar | 10 | Not null Primary key | |
CourseName | varchar | MAX | null | |
credit | float | null | ||
time | int | null | ||
teacher | varchar | 10 | null |
(3)對表3.8進行定義說明,見下表3.8.1
表3.8.1 作業表
字段名 | 數據類型 | 長度或者精度 | 默認值 | 完整性約束 |
CourseId | varchar | 10 | Not null Primary key | |
id | varchar | 10 | Not null Primary key | |
Score1 | int | null | ||
Score2 | int | null | ||
Score3 | int | null |
3.使用SQL命令在學生作業管理數據庫中建立學生表、課程表和學生作業表,在實驗報告中給出SQL代碼。
(1)建立學生表,SQL代碼如下:
CREATE TABLE 學生表
(
??? id VARCHAR(10) NOT NULL,
??? name VARCHAR(10) NULL,
??? sex VARCHAR(5) NULL,
??? class VARCHAR(10) NULL,
??? birth VARCHAR(15) NULL,
??? phone VARCHAR(20) NULL,
??? CONSTRAINT 學生表_pk PRIMARY KEY (id)
);
(2)執行上述代碼,刷新即可看到建立的學生表,如下圖所示:
2.建立課程表,SQL代碼如下:
CREATE TABLE 課程表
(
??? CourseId VARCHAR(10) NOT NULL,
??? CourseName VARCHAR(MAX) NULL,
??? credit FLOAT NULL,
??? time INT NULL,
??? teacher VARCHAR(10) NULL,
??? CONSTRAINT 課程表_pk PRIMARY KEY (CourseId)
);
(4)執行上述代碼,刷新即可看到建立的課程表,如下圖所示:
(5)建立作業表,SQL代碼如下:
CREATE TABLE 作業表
(
??? CourseId VARCHAR(10) NOT NULL,
??? id VARCHAR(10) NOT NULL,
??? score1 INT NULL,
??? score2 INT NULL,
??? score3 INT NULL,
??? CONSTRAINT 作業表_pk PRIMARY KEY (CourseId, id)
);
(6)執行上述代碼,刷新即可看到建立的作業表,如下圖所示:
4.在各個表中輸入表3.6、表3.7和表3.8中的相應內容。
(1)在學生表中輸入表3.6的內容,如下圖所示:
(2)在課程表中輸入表3.7的內容,如下圖所示:
(3)在作業表中輸入表3.8的內容,如下圖所示:
5.根據創建的學生作業管理數據庫以及其中的學生表、課程表和學生作業表,進行以下的查詢操作(每一個查詢都要給出SQL語句,列出查詢結果)。
- 查詢各位學生的學號、班級和姓名。
i.SQL語句如下:
SELECT id, Class, Name
FROM 學生表;
ii.執行語句后,輸出結果為:
- 查詢課程的全部信息。
i. SQL語句如下:
SELECT *
FROM 課程表;
ii.執行語句后,輸出結果為:
- 查詢數據庫中有哪些專業班級。
i. SQL語句如下:
SELECT DISTINCT class
FROM 學生表;
ii.執行語句后,輸出結果為:
- 查詢學時數大于60的課程信息。
i. SQL語句如下:
SELECT *
FROM 課程表
WHERE time > 60;
ii.執行語句后,輸出結果為:
- 查詢在1986年出生的學生的學號、姓名和出生日期。
i. SQL語句如下:
SELECT id, name, birth
FROM 學生表
WHERE YEAR(birth) = 1986;
ii.執行語句后,輸出結果為: