SQL Server從入門到精通(三)

筆記本終於好了,可以給大家更新了今天我們來學習數據表管理,以下所有內容都是根據自學網和百度文庫歸納總結

數據表管理

表的基本概念
數據完整性:數據的準確性、可靠性、不準確、不一致的數據,則 導致數據失去了完整性
實體完整性(行):要求表中的所有的行唯一
域完整性約束(列):保證列值符合規定
引用完整性:要求量表相同字段必須一致
主鍵
v表中一列或幾列組合的,能夠唯一的標識表中的每一行
√一個表只能有一個主鍵
√多列組合當主鍵稱爲複合主鍵其值自動被填入
原則:最少性和唯一性
外鍵
√相對應於主鍵而言
√一個表可以有多個外鍵
標識列:
√“自動增長列”或“自動編號
√本身沒有具體的含義只是用來標識不同的實體
標識列的實現方式
√標識列用來區分不同的實體
√定義成標識列時,需要指定”標識種子”和”標識增量默認值都是1
√標識列通常也被定義爲主鍵
√定義爲標識列的列必須是整型
v標識列的數據是自動增加的,不能手動的爲標識到插入值
空值:NULL在填入數據值可以不填
默認值:表中的某列,用戶不輸入數據的時候其值自動被填入
數據類型
在這裏插入圖片描述
char和varchar:漢字佔兩個字節英文數字或字符佔一個
nchar和nvarchar:都佔一個字節
固定長度與非固定長度:
身份證號:
住址:
視圖創建表
在這裏插入圖片描述
點擊右鍵創建表
後輸入數據
在這裏插入圖片描述
輸入完成後Ctrl+S後輸入表名保存
使用SQL語句創建表
語法:
CREATE TABLE 表名

字段1 數據類型 列特徵,


注意:列特徵:是否爲主鍵,是否爲空,是否是標識符,是否是默認值
例題:
在這裏插入圖片描述

約束的類型
約束的類型約束的類型:
主鍵約束:要求主鍵列不能爲竅,要求主鍵列唯
非空約束:要求該列不能存在空值
唯一約束:要求該列的值必須是唯一的,允許爲空,但只能出一同個空值
檢查約束:限制某列取值的範圍是否合適
默認約束:設計某列的默認值
外鍵約束:用於在兩表之間建立關係,需要指定引用主表是哪一列
主鍵約束與唯一約束的區別:
1.主鍵約束所在的列不允許有空值,唯一約束列允許空值
2.每個表中可以有一個主鍵,多個唯一鍵
用SQL語句添加約束
T-SQL語句添加約束語法:
ALTER TABLE表名
ADD CONSTRAINT約束名約束類型具體的約束說明
約束名的取名規則推薦採用:約束類型_約束列
√主鍵(PrimaryKey) 約束:如PK_User ld
√唯一(Unique Key) 約束:如UQ_User Card ld
√默認(Default Key)約束:如DF_User Pass pwd
√檢查(Check Key) 約束:如CK_Gender
v外鍵(ForeignKey) 約束:如FK_Sort ld
在這裏插入圖片描述
使用SQL語句向已有數據表中添加約束
-SQL語句向已有數據的表添加約束語法:
ALTER TABLE表名WITH NO CHECK
ADD CONSTRAINT約束名約束類型具體的約束說明對錶中現有的數據不做檢查,只對添加約束之後再錄入的數據進行檢查
在這裏插入圖片描述
刪除約束
刪除外鍵 
語法:alter table 表名 drop constraint 外鍵約束名 
如:alter table s_student drop constraint fk_room;

–添加外鍵 
語法:alter table 表名 add constraint 外鍵約束名 foreign key(列名) references 引用外鍵表(列名) 
如:alter table t_student add constraint fk_student_room foreign key(fk_room) references t_room(pk_id) 
 
–刪除主鍵 
語法:alter table 表名 drop constraint 主鍵約束名 
如:alter table s_student drop constraint pk_id;
 
–增加主鍵 
語法:alter 表名 add constraint 主鍵約束名 primary key(列名) 
如:alter s_student add constraint pk_student_id primary key(pk_id);

SQL語句刪除約束
語法:
ALTER TABLE表名
DROP CONSTRAINT約束名
在這裏插入圖片描述
創建數據庫關係圖
在這裏插入圖片描述
數據庫關係圖作用
1.清楚的查看到表之間的引用關係
2.建立引用關係,從主表的主鍵向子表的引用鍵拖動
3.與在設計狀態建主外鍵關係的區別
(1)在設計狀態下建主外鍵關係是從子表向主表建關係
(2)數據庫關係圖下是從主表向子表建關係
刪除表
使用SQL語句刪除數據表
DROP TABLE表名
IF EXISTS(SELECT*FROM sysobjects WHERE name='Commodity Info ’)
DROP TABLE Commodity Info
CREATE TABLE Commodity Info




Go
在這裏插入圖片描述
喜歡的點贊偶,有錯誤希望指出來謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章