0009《SQL必知必會》筆記05 表的建立與約束

2022-04-06 10:54:17 字數 2252 閱讀 4324

1、建立表:用create table 語句,要指明:表名(不能與現有表名重複)、列名、每列的資料型別

2、約束。資料庫中的表不同於excel,其表中的資料必須嚴格規範合法,約束就是用來管理如何插入或處理資料庫資料的規則。

1.主鍵約束:主鍵列的每乙個資料可以唯一標識其所在的行,任意兩行的主鍵值都不相同;主鍵值不能為空,因此每行都有乙個主鍵值;主鍵列不更新不變化,並且不能重用;主鍵可以建立在乙個列或多個列上。關鍵字:primary key

2.外來鍵約束:外來鍵約束列的資料必須只能是另乙個表的主鍵列(也可以是唯一約束列?)中的資料。比如orders表的cust_id必須是customers表的cust_id列裡面的值,不能在orders.cust_id列新增乙個在customers.cust_id列裡面沒有的資料。關鍵字:foreign key

3.唯一約束:唯一約束列的每個資料都是唯一的,任意兩行都不相同。與主鍵的區別:乙個表只有乙個主鍵約束,但可以有多個唯一約束;唯一約束可以是null值;唯一約束列可以修改更新重複使用;不能用來定義外來鍵。比如身份證號就可以做唯一約束(當然現實中有兩個完全相同的身份證號碼的意外情況)。關鍵字:unique

4.檢查約束:使得檢查約束列的值符合某個條件,比如購買數量》0;性別為「男」或「女」。關鍵字:check(條件)

5.非空約束:就是not null,是否允許某一列的值為空,不設定的話,預設是null。注意null和『』的區別。

3、在建立表時建立約束:

create

table

product

( prod_id

char(10) not

null

primary

key,

vend_id

char(10) not

null

, prod_name

char(254) not

null

, prod_price

number(8,2) not

null

check(prod_price>0),

prod_desc

varchar(1000) not

null

,constraint for_vend_id foreign

key(vend_id) references

vendors(vend_id)

);

或者:

《sql必知必會》筆記

資料庫 儲存有組織的資料的容器 通常是乙個檔案或一組檔案 注意誤用混淆 資料庫軟體被稱為dbms,資料庫是通過dbms建立和操縱的容器 模式 關於資料庫和表的布局及特性的資訊。主鍵 一列或一組列,其值能夠唯一標識表中的每一行。多條sql語句必須以 分隔。sql語句不區分大小寫,select和sele...

SQL必知必會

資料庫 儲存有組織的資料的容器。資料庫管理系統 dbms 資料庫軟體,資料庫是通過dbms建立和操縱的容器。表 某種特定資料型別的結構化清單。資料庫中的每個表都有自己的名字,且唯一。不同的資料庫可以使用相同的表名。表的特性 模式 資料在表中如何儲存,儲存什麼樣的資料,資料如何分解。模式可以用來描述資...

《SQL必知必會》 筆記(1 5)

1.1.3 資料型別 varchar和char的區別 表中的每個列都有相應的資料型別,需要注意的是在不同的資料庫中相同型別的命名也是不同的,這個需要檢視對應資料庫的文件說明 就字元型別來說,mysql有char和varchar,而oracle除了這兩種還有一種varchar2型別,同時它們對應的格式...