SQL 語句 對於一個表的基本操作
阿新 • • 發佈:2019-02-15
首先建立一個基本的表,在定義列名時注意賦預設值,注意使用者定義完整性這一約束條件
create table base(
col1 varchar(50) primary key, --主鍵 預設不為空
colF varchar(50),
col2 int default 0,
col3 numeric(5,2),--5位長度,兩位小數
)
2,給表新增一列
alter table base add col4 varchar(50) default ''
3,修改欄位的資料型別,如果該欄位已有預設值,需要刪掉現有約束,再修改欄位資料型別,再新增預設值
alter table base drop constraint DF__base__col4__705E348F --刪除現有約束名 alter table base alter column col4 numeric (9,4) --修改欄位型別 alter table base add default(0.0) for col3 --新增預設值
4,表的主外來鍵約束
外來鍵約束存在於對於主表,主表中的一個欄位是其他表中的主鍵,該欄位成為主表的外來鍵。
外來鍵可以在建表的時候建立,也可以在建表之後新增外來鍵。
外來鍵約束的含義:
對於主表而言,當對主表insert資料時,對主表操作的候選碼,在從表中已經有該主鍵時,則不允許操作。
對於從表而言,當對從表insert資料時,主表中不存在對應的外來鍵,則不能在從表中insert資料。
如果在定義外來鍵時需要視情況看需不需要新增級聯約束
create table Table_M( col_ID varchar(50) primary key, --主鍵 預設不為空 colF varchar(50) , --外來鍵 col2 int default 0, col3 numeric(5,2),- constraint FK_FK__Table_M__colF foreign key(colF)references Table_D(DID) on delete cascade on update cascade ) create table Table_D( DID varchar(50) primary key, D_col1 varchar(50), D_col2 int default 0, D_col3 numeric(5,2), ) --也可以建表之後再新增外來鍵 --先刪除外來鍵約束 --FK_FK__Table_M__colF alter table Table_M drop constraint FK_FK__Table_M__colF alter table Table_M add constraint FK_FK__Table_M__colF foreign key(colF)references Table_D(DID) on delete cascade on update cascade