--数据操作
2
3
SELECT --从数据库表中检索数据行和列
4
INSERT --向数据库表添加新数据行
5
DELETE --从数据库表中删除数据行
6
UPDATE --更新数据库表中的数据
7
8
--数据定义
9
10
CREATE TABLE --创建一个数据库表
11
DROP TABLE --从数据库中删除表
12
ALTER TABLE --修改数据库表结构
13
CREATE VIEW --创建一个视图
14
DROP VIEW --从数据库中删除视图
15
CREATE INDEX --为数据库表创建一个索引
16
DROP INDEX --从数据库中删除索引
17
CREATE PROCEDURE --创建一个存储过程
18
DROP PROCEDURE --从数据库中删除存储过程
19
CREATE TRIGGER --创建一个触发器
20
DROP TRIGGER --从数据库中删除触发器
21
CREATE SCHEMA --向数据库添加一个新模式
22
DROP SCHEMA --从数据库中删除一个模式
23
CREATE DOMAIN --创建一个数据值域
24
ALTER DOMAIN --改变域定义
25
DROP DOMAIN --从数据库中删除一个域
26
27
--数据控制
28
29
GRANT --授予用户访问权限
30
DENY --拒绝用户访问
31
REVOKE --解除用户访问权限
32
33
--事务控制
34
35
COMMIT --结束当前事务
36
ROLLBACK --中止当前事务
37
SET TRANSACTION --定义当前事务数据访问特征
38
39
--程序化SQL
40
41
DECLARE --为查询设定游标
42
EXPLAN --为查询描述数据访问计划
43
OPEN --检索查询结果打开一个游标
44
FETCH --检索一行查询结果
45
CLOSE --关闭游标
46
PREPARE --为动态执行准备SQL 语句
47
EXECUTE --动态地执行SQL 语句
48
DESCRIBE --描述准备好的查询
49
50
---局部变量
51
declare @id varchar(10)
52
--set @id = 'sp'
53
select @id = 'sp'
54
55
---全局变量
56
---必须以@@开头
57
--IF ELSE
58
declare @x int @y int @z int
59
select @x = 1 @y = 2 @z=3
60
if @x > @y
61
print 'x > y' --打印字符串'x > y'
62
else if @y > @z
63
print 'y > z'
64
else print 'z > y'
65
--CASE
66
use pubs
67
update employee
68
set e_wage =
69
case
70
when job_level = ’1’ then e_wage*1.08
71
when job_level = ’2’ then e_wage*1.07
72
when job_level = ’3’ then e_wage*1.06
73
else e_wage*1.05
74
end
75
--WHILE CONTINUE BREAK
76
declare @x int @y int @c int
77
select @x = 1 @y=1
78
while @x < 3
79
begin
80
print @x --打印变量x 的值
81
while @y < 3
82
begin
83
select @c = 100*@x + @y
84
print @c --打印变量c 的值
85
select @y = @y + 1
86
end
87
select @x = @x + 1
88
select @y = 1
89
end
90
--WAITFOR
91
92
--例 等待1 小时2 分零3 秒后才执行SELECT 语句
93
94
waitfor delay ’01:02:03’
95
select * from employee
96
97
--例 等到晚上11 点零8 分后才执行SELECT 语句
98
99
waitfor time ’23:08:00’
100
101
102
SELECT
103
104
select *(列名) from table_name(表名) where column_name operator value ex宿主)
105
select * from stock_information where stockid = str(nid)
106
stockname = 'str_name'
107
stockname like '% find that %'
108
stockname like '[a-zA-Z]%' --------- ([]指定值的范围)
109
stockname like '[^F-M]%' --------- (^排除指定范围)
110
--------- 只能在使用like关键字的where子句中使用通配符)
111
or stockpath = 'path'
112
or stocknumber < 1000
113
and stockindex = 24
114
not stocksex = 'man'
115
stocknumber between 20 and 100
116
stocknumber in(10,20,30)
117
order by stockid desc(asc) --------- 排序,desc-降序,asc-升序
118
order by 1,2 --------- by列号
119
stockname = (select stockname from stock_information where stockid = 4)
120
--------- 子查询
121
--------- 除非能确保内层select只返回一个行的值
122
--------- 否则应在外层where子句中用一个in限定符
123
select distinct column_name form table_name
124
--------- distinct指定检索独有的列值,不重复
125
select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name
126
select stockname , "stocknumber" = count(*) from table_name group by stockname
127
--------- group by 将表按行分组,指定列中有相同的值
128
having count(*) = 2 --------- having选定指定的组
129
130
select *
131
from table1, table2
132
where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示
133
table1.id =* table2.id -------- 右外部连接
134
select stockname from table1
135
union [all] -------- union合并查询结果集,all-保留重复行
136
select stockname from table2
137
138
insert
139
140
insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx"
141
value (select Stockname , Stocknumber from Stock_table2)
142
-------value为select语句
143
144
update
145
146
update table_name set Stockname = "xxx" [where Stockid = 3]
147
Stockname = default
148
Stockname = null
149
Stocknumber = Stockname + 4
150
151
delete
152
153
delete from table_name where Stockid = 3
154
truncate table 表名 --------- 删除表中所有行,仍保持表的完整性
155
drop table table_name --------- 完全删除表
156
157
alter table -------- 修改数据库表结构
158
159
alter table database.owner.table_name add column_name char(2) null ..
160
sp_help 表名 -------- 显示表已有特征
161
create table table_name (name char(20), age smallint, lname varchar(30))
162
insert into table_name select -------- 实现删除列的方法(创建新表)
163
alter table table_name drop constraint Stockname_default
164
--------- 删除Stockname的default约束
165
166
167
常用函数(function)
168
转换函数
169
convert(数据类型,值,格式)
170
171
统计函数
172
173
AVG --求平均值
174
COUNT --统计数目
175
MAX --求最大值
176
MIN --求最小值
177
SUM --求和
178
STDEV()
179
180
--STDEV()函数返回表达式中所有数据的标准差
181
--STDEVP()
182
--STDEVP()函数返回总体标准差
183
184
VAR()
185
186
--VAR()函数返回表达式中所有值的统计变异数
187
188
VARP()
189
190
--VARP()函数返回总体变异数
191
192
算术函数
193
194
三角函数
195
196
SIN(float_expression) --返回以弧度表示的角的正弦
197
COS(float_expression) --返回以弧度表示的角的余弦
198
TAN(float_expression) --返回以弧度表示的角的正切
199
COT(float_expression) --返回以弧度表示的角的余切
200
201
反三角函数
202
203
ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角
204
ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角
205
ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角
206
ATAN2(float_expression1,float_expression2)
207
------返回正切是float_expression1 /float_expres-sion2的以弧度表示的角
208
DEGREES(numeric_expression)
209
------把弧度转换为角度返回与表达式相同的数据类型可为
210
------INTEGER/MONEY/REAL/FLOAT 类型
211
RADIANS(numeric_expression)
212
------把角度转换为弧度返回与表达式相同的数据类型可为
213
214
------INTEGER/MONEY/REAL/FLOAT 类型
215
EXP(float_expression) --返回表达式的指数值
216
LOG(float_expression) --返回表达式的自然对数值
217
LOG10(float_expression)--返回表达式的以10 为底的对数值
218
SQRT(float_expression) --返回表达式的平方根
219
220
取近似值函数
221
222
CEILING(numeric_expression)
223
-------返回>=表达式的最大整数返回的数据类型与表达式相同可为
224
-------INTEGER/MONEY/REAL/FLOAT 类型
225
FLOOR(numeric_expression)
226
-------返回<=表达式的最小整数返回的数据类型与表达式相同可为
227
-------INTEGER/MONEY/REAL/FLOAT 类型
228
ROUND(numeric_expression)
229
-------返回以integer_expression 为精度的四舍五入值返回的数据
230
-------类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型
231
ABS(numeric_expression)
232
-------返回表达式的绝对值返回的数据类型与表达式相同可为
233
-------INTEGER/MONEY/REAL/FLOAT 类型
234
SIGN(numeric_expression)
235
-------测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型
236
-------与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型
237
PI() -------返回值为π 即3.1415926535897936
238
RAND([integer_expression])
239
-------用任选的[integer_expression]做种子值得出0-1 间的随机浮点数
240
字符串函数
241
242
ASCII() ------函数返回字符表达式最左端字符的ASCII 码值
243
CHAR() ------函数用于将ASCII 码转换为字符
244
------如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值
245
LOWER() ------函数把字符串全部转换为小写
246
UPPER() ------函数把字符串全部转换为大写
247
STR() ------函数把数值型数据转换为字符型数据
248
LTRIM() ------函数把字符串头部的空格去掉
249
RTRIM() ------函数把字符串尾部的空格去掉
250
LEFT(),RIGHT(),SUBSTRING() --函数返回部分字符串
251
CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置
252
SOUNDEX() ------函数返回一个四位字符码
253
------SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值
254
DIFFERENCE() ------函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异
255
------0 两个SOUNDEX 函数返回值的第一个字符不同
256
------1 两个SOUNDEX 函数返回值的第一个字符相同
257
------2 两个SOUNDEX 函数返回值的第一二个字符相同
258
------3 两个SOUNDEX 函数返回值的第一二三个字符相同
259
------4 两个SOUNDEX 函数返回值完全相同同
260
QUOTENAME() ------函数返回被特定字符括起来的字符串
261
262
/**//*select quotename('abc', '{') quotename('abc')
263
运行结果如下
264
265
{
266
{abc} [abc]*/
267
REPLICATE() ------函数返回一个重复character_expression 指定次数的字符串
268
/**//*select replicate('abc', 3) replicate( 'abc', -2)
269
270
运行结果如下
271
272
abcabcabc NULL*/
273
REVERSE() ------函数将指定的字符串的字符排列顺序颠倒
274
REPLACE() ------函数返回被替换了指定子串的字符串
275
/**//*select replace('abc123g', '123', 'def')
276
277
运行结果如下
278
279
abcdefg*/
280
281
SPACE() ------函数返回一个有指定长度的空白字符串
282
STUFF() ------函数用另一子串替换字符串指定位置长度的子串
283
284
数据类型转换函数
285
286
CAST() 函数语法如下
287
CAST() ( AS [ length ])
288
CONVERT() 函数语法如下
289
CONVERT() ([ length ], [, style])
290
select cast(100+99 as char) convert(varchar(12), getdate())
291
292
运行结果如下
293
199 Jan 15 2000
294
295
日期函数
296
297
DAY() ------函数返回date_expression 中的日期值
298
MONTH() ------函数返回date_expression 中的月份值
299
YEAR() ------函数返回date_expression 中的年份值
300
DATEADD( , ,)
301
-----函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期
302
DATEDIFF( , ,)
303
-----函数返回两个指定日期在datepart 方面的不同之处
304
305
DATENAME( , ------函数以字符串的形式返回日期的指定部分
306
DATEPART( , ------函数以整数值的形式返回日期的指定部分
307
GETDATE() ------函数以DATETIME 的缺省格式返回系统当前的日期和时间
308
309
系统函数
310
311
APP_NAME() ------函数返回当前执行的应用程序的名称
312
COALESCE() -----函数返回众多表达式中第一个非NULL 表达式的值
313
COL_LENGTH(<'table_name'>, <'column_name'> ----函数返回表中指定字段的长度值
314
COL_NAME(, ----函数返回表中指定字段的名称即列名
315
DATALENGTH() -----函数返回数据表达式的数据的实际长度
316
DB_ID(['database_name']) ------函数返回数据库的编号
317
DB_NAME(database_id) ------函数返回数据库的名称
318
HOST_ID() -----函数返回服务器端计算机的名称
319
HOST_NAME() -----函数返回服务器端计算机的名称
320
IDENTITY([, seed increment]) [AS column_name])
321
--IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中
322
/**//*select identity(int, 1, 1) as column_name
323
into newtable
324
from oldtable*/
325
326
ISDATE() ----函数判断所给定的表达式是否为合理日期
327
ISNULL(, --函数将表达式中的NULL 值用指定值替换
328
ISNUMERIC() ----函数判断所给定的表达式是否为合理的数值
329
NEWID() ----函数返回一个UNIQUEIDENTIFIER 类型的数值
330
NULLIF(,
331
----NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回xpression1 的值
332
2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

分类:
050~sqlserver
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)