&SQL 總結&
阿新 • • 發佈:2018-12-16
一. 請寫出資料庫分離和附加的步驟
資料庫右鍵分離,資料庫右鍵附加
二. 請寫出資料庫匯出SQL指令碼的步驟
資料庫名右鍵分離指令碼高階框架和資料完成
三. 請寫出SQL Server的四種完整性約束
1.實體完整性約束:不允許出現相同記錄的資料
2.域完整性約束:對欄位進行限定,不得插入不符合限定的資料
3.引用完整性:表與表之間的關係
4.自定義完整性約束:開發人員自己設定對欄位的約束,不允許出現不符合約束的資料
四. 如何設定表的主鍵和標識列
.表的主鍵:選用表中不會出現重複資料的列,而且儘量不要選擇多列作為主鍵,最後要選擇列資料修改次數不多的列作為主鍵
.表的標識列:標識列的資料型別必須為int,將此欄位的標識規範改為”是“
五. 請寫出主外來鍵關係確立後操作主資料的注意事項
外來鍵找主鍵(需要關聯的主鍵列在哪個表中哪個就是主鍵表)主鍵更改外來鍵會一起更改
六. 請寫出使用SQL插入資料時的注意事項+
注意插入資料時資料欄位的資料型別,時候有約束,是否是住建
刪除資料或修改資料時看是否有外來鍵關聯
七. 請寫出增刪改SQL語句的基本語法
向Student表中插入資料
--語法:INSERT [INTO] 表名 (列名) VALUES (值列表)
--刪除資料:針對表中的記錄進行刪除
--語法:DELETE FROM 表名 WHERE 表中唯一標識
修改資料:針對表中資料進行修改,where條件根據唯一資料進行限定
--語法:UPDATE 表名 SET 列名1=更新值1,列名2=更新值2 WHERE 表中唯一標識
-
八. 請寫出新增多行資料的三種方式
-插入多行資料
--從from的表中拿出select的列資料插入到into的表中
--表必須建立
INSERT INTO AddressList(StudentName,Address,Email)
SELECT StudentName,Address,Email
FROM Student
--插入多行資料
--表自動建立
SELECT Student.StudentName,Student.Address,Student.Email
INTO AddressList
FROM Student
--插入多行資料
--表必須建立
INSERT INTO AddressList(StudentName,Address,Email)
SELECT '1','北京','
SELECT '2','北京','[email protected]' UNION
SELECT '3','北京','[email protected]' UNION
SELECT '4','北京','[email protected]' UNION
SELECT '5','北京','[email protected]' UNION
SELECT '6','北京','[email protected]
九. 假設My School資料庫有如下Student表和Grade表
Student表結構(其中Student No為主鍵,表中GradeId和Grade表中的GradeId為主外來鍵關聯):
Student表的資料:
Grade表結構(其中Grade Id為主鍵,並且是標識列):
Grade表的資料:
問題一:更改Student No為S1101009的學生記錄,將密碼修改為:p w
UPDATEStudent SET LoginPwd='[email protected]',Gradeld=4 WHERE Student No='s1101009'
問題二:向學生表中新增一條記錄
INSERT [INTO] Student VALUES('1','a','張三','男',1,'a','a','@')
問題三:向年級表中新增一條記錄
INSERT [INTO] Grade VALUES ('6','112')
問題四:刪除學生表中編號為S1101007的記錄
DELETE FROM Student WHEREStudentNo='s1101007'
問題五:刪除Grade表中Grade Id為1的記錄(根據表中資料分析,採用哪兩種方式刪除?)
解除關係,右鍵刪除
※前四問均手寫SQL,最後一問可以文字描述