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

