1. 程式人生 > >SQL 語句 對於一個表的基本操作

SQL 語句 對於一個表的基本操作

首先建立一個基本的表,在定義列名時注意賦預設值,注意使用者定義完整性這一約束條件

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