SQL server中常見的增,刪,改,查的操作
阿新 • • 發佈:2019-02-04
--增-- /*增加列*/ alter table 表名 add 列名 varchar(20) check(你的約束條件); 如:在學生情況表中增加一個Email列,要求檢查輸入的是否為Email; alter table 學生情況表 add Email varchar(20) check(Email like ('%@ %.com')); /*增加唯一約束*/ alter table 表名 add constraint 約束名 unique(列名) 如:對學生情況表增加約束條件,要求姓名唯一 alter table 學生情況表 add constraint un_name unique(姓名) /*增加check約束*/ alter table 表名 add check(你的約束) 如:對課程表增加約束,要求學分取值範圍為1-4 alter table 學生課程表 add check(學分 between 1 and 4) /*增加主鍵*/ 這個地方要注意,你必須需要確保你設定的列不能有空值,在設定之前還先執行以下語句 (如果該列已經設定成not null了,請忽略) alter table 表名 alter column 列名 資料型別 not null //再執行 alter table 表名 add constraint 你自己定義的主健名 primary key (列名) /*增加外來鍵*/ 設定成外來鍵的列在主表和從表中的資料型別要一樣,從表中的資料要是在主表中的 alter table 從表名 add constraint 你自己定義的外健名 foreign key(要設定的列) references 主表名 (要設定的列) /*增加某一行資料*/ insert into (表名)(列名1,列名2) values ('00051','李明') --刪-- /*資料庫中常用的刪除通常有兩種方式,一種是delete,一種是drop,前者不會改變結構,刪除的是內容,而drop會改變成結構,相當於清理了它的物理空間*/ 如:刪除某列(刪除的不能是主健列) alter table 學生情況表(表名) drop column 性別(列名) /*刪除約束*/ alter table 學生課程表 drop constraint CK__學生課程表__學分__117F9D94(約束名) /*刪除某個表*/ drop table Student//整個表的定義,結構都沒得了 而 delete from student //刪除這個表中的內容 /*刪除檢視*/ drop view s_dept01(檢視名) --改-- /*將teacher表學號為00001的score加一,使用update時記得指定條件,不然改的就是整個表的了/ update teacher(表名) set score=score+1 where sno='00001' /**修改表名,將grade表修改成sc*/ EXEC sp_rename 'grade','SC'; /*修改列名**/ EXEC sp_rename ‘[原有列名]’, ‘[新列名]' , 'COLUMN'; 此外,還有改列的資料型別,這種情況比較複雜,為了避免文章篇幅長,寫在另一篇文章中 --查-- /*查個某個表*/ select* from (表名) 如果指定是表上的某些列 select 列名1,列名2 等等 from (表名) 需要滿足哪些條件加上where select 列名1,列名2 等等 from (表名) 【where (需要滿足哪些條件)】 /*查約束*/ select * from sysobjects where parent_obj in(select id from sysobjects where name='表名') 或者 exec sp_helpconstraint @objname='表名' /*查某個表上的索引*/ exec sp_helpindex (表名) /*查檢視*/ exec sp_helptext '檢視名'