資料庫 筆記 定義資料表約束和修改資料表

2021-10-09 03:34:53 字數 2965 閱讀 8148

修改資料表

總結

在這裡只使用sql語句來進行

null/not null約束

分別表示可以為空和不可以為空,語句如下

create

table stu

( stu_no nchar(11

)constraint s_con not

null)[

constraint

+ 約束名]

+ 約束型別,其中約束名自己定義,中括號部分可以省略(也就是可以不對約束進行命名,系統會自定義)

unique約束

unique唯一,用於表示一列或者多個列的組合上取值唯一,不能用相同的值出現

注意:唯一約束下,可以有空值存在,但最多只能有乙個

create

table stu

(-- 單個屬性列的約束

stu_no nchar(11

)constraint s_uni unique

)create

table stu

(--多個屬性列的約束

stu_na nchar(8

),stu_*** nchar(2

),constraint stu_uni unique

(stu_na, stu_***)

)這是多個屬性列一起,新增的唯一約束,意思是不能存在姓名、學號都相同的情況

primary key約束

主鍵約束,用於規定基本表的主鍵的,如下

create

table stu

( stu_no nchar(11

)primary

key)

unique與primary

key不能共存

乙個基本表中只能有乙個主鍵約束,當存在多個屬性列為主鍵時,需要通過表約束定義

那麼多個屬性列作為主鍵的定義如下

create

table sc --選課表

( stu_no nchar(11

)not

null

,--學號

c_no nchar(5

)not

null

,--課程號

score int

,--成績

constraint sc_prim primary

key(stu_no,c_no)

)

foreign key約束

外來鍵約束,定義外來鍵,如下

(在此之前先要知道,stu_no和c_no分別是學生表stu,課程表c的主鍵,

而這兩個一起又是sc選課表的主鍵)

create

table sc --選課表

( stu_no nchar(11

)not

null

constraint stu_fore foreign

key stu(stu_no)

--學號

c_no nchar(5

)not

null

constraint stu_fore foreign

key c(c_no)

--課程號

score int

,--成績

constraint sc_prim primary

key(stu_no,c_no)

)新增外來鍵的語法:foreign

key 源表名(列名)

check約束

該約束用於檢測,錄入\更新資料庫的資料是否符合這一約束的規定,如下

create

table stu

( stu_*** nchar(2

)default

'男'constraint stu_she check

(stu_*** =

'男'or stu_*** =

'女')

)它表示,性別只能取男或女

//defaule '男'表示給stu_***設定的預設值為男,當沒有填寫這項資料,就會預設為男

//default不是約束

新增屬性列

alter

table stu

add stu_age int

新增新的屬性的語法與建立時幾乎相同,只是外部變為了alter(修改的意思)

新新增的屬性列需要注意

新增約束

alter

table stu

addconstraint stu_ch check

(stu_age >

0and stu_age <

100)

//對之前新加的屬性列新增約束

修改字元長度

原則是只能改長,不能改短

alter

table stu

alter

column

stu_na nchar(12

)//之前我對stu_na定義的長度都為8,這裡改為了12

修改約束

//刪除約束

alter

table stu

drop

constraint stu_ch //drop constraint 約束名

//這裡刪除了前面給stu_age定義約束

//因此能夠刪除的約束,需要知道對應的約束名

定義約束是比較簡單的,也不容易出錯

而在新增,修改這一塊就很容易出錯,很容易忘記一些規定,在修改的時候就報錯

MySQL資料庫學習 約束與資料表修改

一 約束 保證資料的完整性和一致性,約束分為列級約束和表級約束 約束種類 not null 非空約束 primary key 主鍵約束 uniquekey 唯一約束 default 預設約束 foreign key 外來鍵約束 二 外來鍵約束 用於保證資料的一致性,完整性,實現一對一或一對多關係。三...

約束和修改資料表

外來鍵約束 foreign key 作用 保證資料的一致性 完整性,實現一對一或一對多關係 要求 1.父表和字表必須使用相同的儲存引擎,禁止使用臨時表 2.資料表的儲存引擎只能是innodb 3.外來鍵列和參照列必須有相似的資料型別,其中數字的長度和符號位必須相同,字元的長度可以不同 4.外來鍵列和...

SQL Server建立資料庫 資料表 約束等語句

建立資料庫 start 設定當前資料庫為master訪問sysdatabases表 use master go 判斷系統中是否存在computer該資料庫 if exists select from sysdatabases where name computer 如果存在該資料庫就刪除 drop ...