-------新增約束、增刪改
1view codeusestudentdb22go
3--------建立學生表---------
4create
table
studentinfo(5--
studentid int primary key not null identity(1,1),---設定為主鍵,並自增長
6 studentid int
notnull
identity(1,1
),7 studentnum varchar(16) not
null
,8 studentname nvarchar(16) not
null
,9 studentmobile int
null
,10 classno int
null11)
12--
------新增約束----------
13--
主鍵約束
14alter
table
studentinfo
15add
constraint pk_studentinfo_studentid primary
key(studentid)
16go
17--
唯一約束
18alter
table
studentinfo
19add
constraint uq_studentinfo_studentnum unique
(studentnum)
20go
21--
預設約束
22alter
table
studentinfo
23add
constraint df_studentinfo_studentmobile default
'號碼不詳
'for
studentmobile
24go
25--
檢查約束
26alter
table
studentinfo
27--
check (len(studentmobile)=11):檢查**號碼的長度是否為11位
28--
check後的括號中的表示式可以是and或者or連線的多個簡單邏輯表示式組成的複合型邏輯表示式
29add
constraint ck_studentinfo_studentmobile check (len(studentmobile)=11)
30go
31--
*****=為了避免重複書寫的麻煩,可使用如下方式新增約束
32alter
table
studentinfo
33add
constraint df_studentinfo_studentmobile default
'號碼不詳
'for
studentmobile,
34constraint ck_studentinfo_studentmobile check (len(studentmobile)=11)
35go
36--
刪除約束
37alter
table
studentinfo
38drop
constraint df_studentinfo_studentmobile --
constraint關鍵字是可選的,可寫可不寫
39go
40--
----------修改資料表-----------
41--
新增列42
alter
table
studentinfo
43add remark1 varchar(20) null
,44 remark2 varchar(20) null
45go
46--
刪除列47
alter
table
studentinfo
48drop
column
ramark1
49go
50--
------修改列
51alter
table
classno
52--
修改了資料型別、長度和可空性
53alter
column classid varchar(20) not
null
54go
55--
修改列名
56exec sp_rename '
studentinfo.classno
','classnum'57
go58
--------------刪除資料表--------------------
59--
再刪除之前要先進行判斷資料表是否存在,否則會發生錯誤
60--
判斷方法1
61if
exists (select
*from sys.sysobjects where
[name]=
'studentinfo')
62drop
table
studentinfo
63go
64--
判斷方法2
65if
object_id('
studentinfo
') is
notnull
66drop
table
studentinfo
67go
-------外來鍵約束
1--------插入、更新、刪除usestudentdb22go
3--建立表4
create
table
score(
5 studentid int
notnull
identity(1,1
),6 score int7)
8--新增外來鍵約束
9alter
table
score
10add
constraint fk_score_studentinfo_stuid foreign
key (studentid) references
studentinfo(studentid)
11go
use studentdb2go--全部列均插入資料,提供所有列的資料值,並按照表中各列的順序列出這些值,故不必指定列名
insert into studentinfo values(
1,'000001','大壯',124565689,10086,'01','001'
);go
--按照順序提供了所有的列,並且相應的給出了所有的值(推薦寫法)
insert into studentinfo(studentid,studentnum,studentname,classno,remark1,remark2)
values (1,'000001','大壯',124565689,10086,'01','001');
go --也可以不按照表中的順序來插入資料(但是提供了所有的列)
insert into studentinfo(studentid,classno,studentnum,remark1,studentname,remark2)
values(1,2,'000002','02','二狗','003');
go--插入部分列值(插入值的個數小於列的個數),必須要宣告是哪一列
insert into studentinfo(studentid,classno,studentnum)
values(3,03,'000003');
go---------------更新資料--------------
--簡單的update語句
update studentinfo set remark1=000;
go--帶where條件的update語句
update studentinfo set studentnum=0101,studentname='王二麻子' where classno=222;
go-----------刪除資料-------------
--刪除整個**
delete from studentinfo;
go--刪除某一行
delete from studentinfo where studentid=001;
go
sql server常用操作之增刪改
if exists select from sysdatabases where name w 查詢有沒有資料庫 w 有則刪除,無則不執行。drop database w 刪除 資料庫 名稱.gocreate database stuinfo gouse stuinfo create table s...
SqlServer之基本增刪改查(5)
在sql中,我麼想要插入一條資料,那麼則需要使用insert語句 insert into dbo tasks taskname values 與a客戶見面 這裡我們向任務表中插入了一條資料,返回結果為一行受影響,然後我們再到資料庫中檢視 成功插入了這條資料 如果我們想把其他表中的資料插入到另乙個表中...
mysql資料之增刪改操作
插入資料 使用insert語句來完成插入資料操作 插入操作有以下幾種方式 1.插入完整的行 格式 insert into 表名 列名1,列名2.values 各列的值 舉例 insert into student id,age,name values 1001,23,周芷若 注意 上面這個列名可以省...