一、建表的基本格式
語法:create table 表名(
字段一 類型,
字段二 類型,
······
)
eg:create table a(
intx int,
charx char,
)
二、常用約束條件:not null、unique、primary key、foregin key、check
1、Not null(非空約束)
--非空約束,被此關鍵詞約束的列不能是null
2、Unique(唯一約束)
--唯一約束,被此關鍵詞修飾的列不能有重復數據,但可以有null,但是null也最多只能有一個
3、Primary key(主鍵約束)
--主鍵約束,被此關鍵詞修飾的列不能重復也不可以為null
語法:
create table 表名(
字段名1 類型 Not null,
字段名2 類型 Unique,
字段名3 類型 Primary key,
)
eg:
create table a(
intx int Not null,
charx char Unique,
sno char Primary key,
)
4、Foregin key(外鍵約束)
--外鍵約束,被此關鍵詞修飾的列不能隨意輸入,取值只能從references后面跟的另一張表的括號里的那一列中取,且括號里面只能填表的唯一約束列。
--eg中a表就是另一張表,sno就是a表中有唯一約束的那一列
語法:
create table 表名(
字段名 char foreign key references
另一張表名(另一張表中的有唯一約束的字段)
--唯一約束:primary key、unique
)
eg:
create table b(
sno char foreign key references a(sno)
)
5、check(條件約束)
--條件約束,被此關鍵詞修飾的列只能輸入符合約束條件的值
語法:
create table 表名(
字段名 char check (約束條件),
)
eg:
create table b(
sno char check (sno='a'),
--sno這列只能取值a,其他字符不能取
)
三、表級約束和行級約束
--直接跟在行后面的就是行級約束(上面都是),所有字段定義完成之后才進行約束就是表級約束
表級約束:
Eg:create table b(
sno char,
Primary key (sno),
--也是定義了sno是主鍵,在作用上和行級約束沒有區別
)