1
--
創建一個數據庫
2
create database DATA;
3
--
刪除數據庫
4
Drop database DATA;
5
6
--
創建數據庫的時候,指定一些數據庫的相關的參數,比如大小增長當時,文件保存路徑
7
create database DATA
8
on primary --主數據文件*
.mdf
9
(
10
--
數據庫的邏輯名稱
11
name=
'
DATA
'
,
12
filename=
'
E:\DATA.mdf
'
,
13
filegrowth=
10
%,--
增長值
14
maxsize=
100mb
15
)
16
log on
17
(
18
name=
'
DATA_log
'
,
19
filename=
'
E:\DATA.ldf
'
,
20
size=
5mb,
21
filegrowth=
10
%
,
22
maxsize=
50mb
23
)
24
25
--
切換數據庫
26
use
DATA
27
go
28
--
創建一個班級表
29
create
table
TblClass
30
(
31
--
列名,數據類型、約束(自動編號、主鍵、外鍵、默認值等等)
32
ClsId
int
identity(
1
,
1
) primary key,
33
ClsName nvarchar(
50
)
not
null
,
34
ClsDesc nvarchar(
100
)
35
)
36
--
刪除一個表
37
drop
table
TblClass
38
39
--
創建一個學生表
40
create
table
TblStudent
41
(
42
stuId
int
identity(
1
,
1
) primary key,
43
stuName nvarchar(
50
)
not
null
,
44
stuGender bit
not
null
,
45
stuAddress varchar(
200
),
46
stuPhone varchar(
50
),
47
stuAge
int
,
48
stuBirthday datetime,
49
stuIdNumber varchar(
20
),
50
stuClsId
int
51
)
52
53
--注意:bit類型,在寫代碼中用1或0來表示,不要用’
false
’,會進行類型轉換的
54
--
向TbleClass表插入單條數據
55
insert into TblClass(ClsName,ClsDesc) values(
'
高三一班
'
,
'
無此班
'
)
56
57
--
通過select語句來查詢表中的所有數據
58
select *
from TblClass
59
60
--
向TbleClass表插入多條數據
61
insert into TblClass(ClsName,ClsDesc)
62
select
'
高三二班
'
,
'
一般般
'
union all
63
select
'
高三四班
'
,
'
死一般
'
union all
64
select
'
高三五班
'
,
'
未開班
'
65
66
--
將一個表中的數據備份到另一個表中
67
68
--
將TblClass表中的數據備份到newTblClass中
69
--
這種寫法會將TblClass表中的所有數據都插入到newTblClass表中
70
--
前提是newTbleClass表不存在,如果存在則報錯
71
select *
into NewTblClass from TblClass
72
73
--
將另一個數據庫中的表備份到TblTeacher中
74
select *
into TblTeacher from ItCastCn.dbo.TblTeacher
75
76
--
如果我們只要表的結構,不需要表數據
77
select Top
0
*
into NewTblClass from TblClass
78
79
80
--
向一個已經存在的表中插入數據,數據的來源是另外的一張表
81
insert into NewTblClass(Clsname,ClsDesc)
82
select Clsname,ClsDesc from TblClass
83
84
85
--
刪除一條數據
86
delete from TblClass where ClsId=
4
87
88
--
刪除所有數據
89
90
delete from TblClass --此刪除可用日記恢復!
后續在插入數據時主鍵Id續之前的。比如之前到10,刪完之后在插一條主鍵Id是11
91
92
truncate
table
TblClass --
此刪除不可恢復,慎用!數據非常快,效果:如同新建一個表
93
94
--
區別:
95
--
1
.delete 語句刪除數據的時候,自動編號沒有恢復到默認值。但是truancate語句重新設置了自動編號
96
--
2
.通過truncate語句刪除表中的數據的時候,只能一次性都清空,不能根據條件來刪除,而delete可以根據條件來刪除。
97
--
3
.truncate語句清空表中的數據時,速度(性能)比delete語句快的多的多的多。
98
--
4
..truncate語句不觸發delete觸發器。
99
100
--
修改數據
101
update TblClass set ClsName=
'
三年二班
'
,ClsDesc=
'
剛開班
'
where ClsId=
1
102
103
--
注意在操作數據庫之前一定要做備份
104
105
--邏輯運算符的優先級問題:
not
>
and
>
or
106
107
delete from TblTeacher where tage=
19
or
tage is
null
108
109
110
111
--
手動添加約束
112
select *
from Tblclass
113
--
手動添加一列
114
alter
table
TblClass add ClsAge
int
115
116
--
刪除一列
117
alter
table
TblClass drop Column ClsAge
118
119
--
修改數據類型
120
alter
table
TblClass alter column ClsAge varchar(
10
)
121
122
--
為一個表增加主鍵
123
alter
table
NewTblClass
124
add constraint PK_NewTblClass_ClsId primary key(ClsId)
125
126
--增加一個非空約束--
其實就是修改列(要在該列不為空的情況下修改)
127
alter
table
TblClass
128
alter Column ClsAge varchar(
10
)
not
null
129
130
--
增加一個唯一的約束
131
alter
table
TblClass
132
add constraint UQ_tblClass_ClsName unique(ClsName)
133
134
--
添加一個默認約束
135
alter
table
TblClass
136
add constraint DF_TblClass_ClsAge
default
(
'
18
'
)
for
ClsAge
137
138
--添加一個檢查約束;年齡在0-
120之間
139
alter
table
TblClass
140
add constraint CK_TblClass_ClsAge check(ClsAge>=
0
and
ClsAge<=
120
)
141
142
--
添加外鍵約束,
143
alter
table
TblStudent add ClsId
int
not
null
144
alter
table
TblClass
145
add constraint PK_TblStudent_ClsId primary key(ClsId)
146
147
alter
table
TblStudent
148
add constraint FK_TblStudent_TblClass foreign key(ClsId)
149
references TblClass(ClsId) on delete cascade
150
151
--
刪除約束
152
alter
table
TblClass drop constraint FK_TblStudent_TblClass
153
--
刪除多條約束,約束名用逗號隔開
154
alter
table
TblClass drop constraint
155
FK_TblStudent_TblClass,
156
PK_TblStudent_ClsId,
157
CK_TblClass_ClsAge
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

