1. 程式人生 > >&SQL 總結&

&SQL 總結&

 

一.  請寫出資料庫分離和附加的步驟

資料庫右鍵分離,資料庫右鍵附加

二.  請寫出資料庫匯出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','北京','
[email protected]
' UNION
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 
[email protected]
,將年級編號修改為:4

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,最後一問可以文字描述