❶ sql语言参考大全的目录
第1章数据库配置与管理1
第2章使用企业管理器管理数据库75
第3章SQL语言基础103
3.1SQL语言概述104
3.1.1SQL概述104
3.1.2SQL语言的组成104
3.1.3SQL语句结构106
3.1.4T-SQL语句分类106
3.2数据类型107
3.2.1整数数据类型107
3.2.2浮点数据类型107
3.2.3字符数据类型108
3.2.4日期和时间数据类型109
3.2.5货币数据类型109
3.2.6二进制数据类型110
3.2.7文本和图像数据类型110
3.2.8用户自定义类型110
3.3常量112
3.3.1数值常量112
3.3.2字符串常量112
3.3.3日期和时间常量112
3.4变量112
3.4.1局部变量112
3.4.2全局变量114
3.5运算符116
3.5.1算术运算符116
3.5.2赋值运算符117
3.5.3逻辑运算符118
3.6流程控制语句119
3.6.1语句块BEGIN...END119
3.6.2IF条件选择语句121
3.6.3IF...ELSE122
3.6.4CASE分支选择语句124
3.6.5WHILE循环语句127
3.6.6WHILE...CONTINUE...BREAK循环128
3.6.7RETURN129
3.6.8GOTO130
3.6.9WAITFOR131
3.7常用命令132
3.7.1DBCC命令132
3.7.2CHECKPOINT命令134
3.7.3DECLARE命令134
3.7.4PRINT命令136
3.7.5RAISERROR命令139
3.7.6READTEXT命令139
3.7.7BACKUP命令140
3.7.8SELECT命令141
3.7.9SET命令143
3.7.10SHUTDOWN命令144
3.7.11WRITETEXT命令145
3.7.12USE命令145
第4章管理数据库与数据表147
4.1数据库管理148
4.1.1创建数据库148
4.1.2修改数据库152
4.1.3删除数据库158
4.2数据表管理159
4.2.1创建数据表160
4.2.2查看数据表167
4.2.3修改数据表169
4.2.4删除数据表177
第5章添加数据179
5.1插入单行记录180
5.1.1INSERT语句基本语法180
5.1.2插入整行数据180
5.1.3插入NULL值181
5.1.4惟一值的插入181
5.1.5特定字段数据插入182
5.1.6插入默认值184
5.1.7插入日期数据184
5.1.8通过视图插入行186
5.1.9向表中插入记录时注意指定的不同的字段顺序186
5.1.10插入的数据类型值与实际中的数据类型不匹配时,系统将输出错误提示187
5.1.11向表中插入字段的个数少于表中实际字段的个数,有时会出错188
5.2插入多行记录189
5.2.1插入多行记录的语法格式189
5.2.2使用VALUES关键字引入多行数据插入189
5.2.3使用SELECT语句插入值190
5.3表中数据的复制191
5.3.1基本语法191
5.3.2表中数据的复制应用191
5.4将SQL Server中数据导出到记事本中192
5.5将SQL Server中的数据导入/导出到Excel数据表中193
5.5.1从Excel导入数据到SQL Server中193
5.5.2从SQL Server中将数据导出到Excel数据表中194
5.6将SQL Server中的数据导入/导出到ACCESS中196
5.6.1从ACCESS导入数据到SQL Server中196
5.6.2将SQL Server中的数据导出到ACCESS中197
第6章修改和删除数据199
6.1UPDATE语句的基本语法200
6.2使用UPDATE语句更新列值202
6.3利用子查询更新行中的值205
6.3.1语法格式205
6.3.2利用子查询返回的行数不多于一行(只返回一个值)205
6.3.3利用子查询返回多行(返回多个值)206
6.3.4利用内连接查询来更新数据表中的信息207
6.4依据外表值更新数据209
6.5赋值UPDATE210
6.5.1使用UPDATE为表中所有行中的数据赋值(省略WHERE子句)210
6.5.2使用UPDATE为表中的多行数据赋值211
6.5.3使用UPDATE为表中的一行数据赋值(WHERE子句不能省)211
6.6分步更新表中的数据212
6.7修改指定字段的数据值214
6.7.1修改指定datetime类型字段内的数据214
6.7.2修改指定int类型字段内的数据215
6.7.3修改指定varchar类型字段内的数据215
6.7.4修改指定float类型字段内的数据216
6.8DELETE语句的基本语法217
6.9使用DELETE语句删除数据217
6.9.1使用DELETE语句删除所有数据(省略WHERE子句)217
6.9.2使用DELETE语句删除多行数据219
6.9.3DELETE语句删除单行数据(WHERE子句不能省)220
6.10删除重复行221
6.10.1删除完全重复行221
6.10.2删除部分重复行222
6.11使用TRUNCATE TABLE语句删除数据224
6.12使用DELETE语句中带有的TOP子句224
6.13删除指定字段数据为空的记录225
6.14通过视图更新表226
6.14.1通过视图更新表数据226
6.14.2通过视图删除表数据228
第7章SQL的基本查询229
7.1简单查询230
7.1.1SELECT语句基本结构230
7.1.2单列查询230
7.1.3多列查询231
7.1.4查询所有的列232
7.1.5别名的应用232
7.1.6使用TOP查询前若干行235
7.1.7除掉重复列237
7.2计算列查询238
7.2.1连接列值238
7.2.2查询中使用计算列238
7.2.3查询中使用表达式240
7.3条件查询242
7.3.1WHERE子句242
7.3.2使用“=”查询数据242
7.3.3使用“”查询数据243
7.3.4使用“”查询数据243
7.3.5使用“=”查询数据244
7.3.6使用“=”查询数据244
7.3.7使用“!”查询数据245
7.3.8使用“!”查询数据245
7.3.9使用“!=”和“”查询数据245
7.4范围查询(BETWEEN)246
7.4.1查询两数之间的数据246
7.4.2查询两个日期之间的数据247
7.4.3在BETWEEN中使用日期函数247
7.4.4查询不在两数之间的数据248
7.5逻辑运算符249
7.5.1使用AND运算符249
7.5.2使用OR运算符250
7.5.3使用NOT运算符251
7.5.4使用OR、AND进行查询252
7.6格式化结果集252
7.6.1格式化日期253
7.6.2格式化小数位数253
7.6.3除去空格254
第8章复杂查询257
8.1模糊查询258
8.1.1LIKE谓词258
8.1.2“%”通配符的使用259
8.1.3“_”通配符的使用259
8.1.4“[]”通配符的使用260
8.1.5“[^]”通配符的使用260
8.1.6ESCAPE转义字符261
8.2IN运算符262
8.2.1使用IN查询数据263
8.2.2在IN中使用运算263
8.2.3在IN中使用列进行查询264
8.2.4使用NOT IN查询数据264
8.2.5使用NOT IN查询后两行数据265
8.3行查询266
8.3.1随机查询一行数据266
8.3.2结果集中添加行号267
8.3.3查询隔行数据268
8.3.4查询指定范围内的所有行数据269
8.4空值(NULL)判断270
8.4.1查询空值(IS NULL)270
8.4.2查询非空值(IS NOT NULL)271
8.4.3对空值进行处理271
8.5对结果集操作273
8.5.1利用结果集创建永久表273
8.5.2利用结果集创建临时表274
8.6复杂条件查询274
8.6.1查询表中的第n行数据274
8.6.2查询考试成绩最高的分数276
8.6.3查询各部门人数277
8.6.4查询各部门基本工资最低的员工278
第9章数据排序279
9.1数值数据排序280
9.1.1按升序和降序排列280
9.1.2按列别名排序281
9.1.3在ORDER BY子句中使用表达式283
9.1.4按空值排序283
9.1.5对多列排序287
9.1.6对数据表中的指定行数进行排序289
9.2字符串排序293
9.2.1按字符串中的子串排序293
9.2.2按字符串中的数值排序298
9.3汉字排序299
9.3.1排序规则简介299
9.3.2按姓氏笔画排序300
9.3.3按拼音排序301
9.4按列的编号排序301
9.5动态排序303
9.5.1在MS SQL Server中的动态排序303
9.5.2在Oracle 9i中的动态排序304
9.6随机排序306
第10章数据统计分析307
10.1聚合函数308
10.2聚合函数的典型应用309
10.2.1求平均值309
10.2.2获取结果集行数311
10.2.3计算不包括最大值和最小值的平均值313
10.2.4对多列求和314
10.2.5在WHERE子句中使用聚合函数316
10.2.6Oracle 9i数据库NVL()函数在聚合函数中的使用316
10.2.7多个聚合函数的使用317
10.3分组统计318
10.3.1使用GROUP BY子句创建分组318
10.3.2使用GROUP BY子句创建多列分组319
10.3.3对表达式进行分组统计320
10.3.4在统计中使用ROLLUP关键字和CUBE关键字321
10.3.5在SQL查询语句中GROUP BY子句的NULL值处理323
10.3.6使用HAVING子句设置统计条件323
10.3.7使用COMPUTE子句在结果集中显示明细和汇总行325
10.3.8使用COMPUTE BY子句显示多级分类汇总327
10.3.9对统计结果排序328
10.3.10在WHERE子句中使用GROUP BY子句329
10.3.11GROUP BY子句的特殊用法329
第11章子查询331
11.1简单子查询332
11.1.1SELECT列表中的子查询333
11.1.2多列子查询333
11.1.3比较子查询334
11.1.4在子查询中使用聚合函数335
11.2多行子查询335
11.2.1使用IN操作符的多行子查询336
11.2.2使用NOT IN子查询实现差集运算336
11.2.3理解通过量词实现多行子查询337
11.2.4使用ALL操作符的多行子查询338
11.2.5使用ANY/SOME操作符的多行子查询339
11.2.6EXISTS子查询实现两表交集340
11.2.7NOT EXISTS子查询实现两表的差集343
11.2.8UNIQUE子查询344
11.3相关子查询344
11.3.1使用IN引入相关子查询345
11.3.2使用NOT IN引入相关子查询345
11.3.3在子查询中使用总计函数返回单个值347
11.3.4理解子查询在WHERE子句中的作用347
11.3.5在HAVING子句中使用相关子查询348
11.4嵌套子查询349
11.4.1嵌套子查询349
11.4.2复杂的嵌套查询350
11.4.3嵌套查询在查询统计中的应用352
11.4.4在UPDATE中使用子查询353
11.4.5在INSERT中使用子查询354
11.4.6在DELETE中使用子查询354
11.5组合查询355
11.5.1交集运算355
11.5.2差集运算355
11.5.3通过UNION合并多个结果集356
11.5.4使用UNION ALL保留重复行357
11.5.5通过UNION语句提高查询结果的可读性358
11.5.6在UNION中通过文字确定数据的来源359
11.5.7通过UNION ALL语句将数据表中的指定记录优先显示360
11.6递归查询361
11.6.1CTE361
11.6.2递归查询362
第12章多表连接365
12.1多表连接366
12.1.1笛卡尔乘积366
12.1.2通过WHERE子句连接多表367
12.1.3通过FROM子句连接多表367
12.1.4在多表连接中设置连接条件368
12.1.5在多表连接中返回某个表的所有列369
12.1.6通过设置表别名提高SQL可读性369
12.2内连接370
12.2.1等值连接370
12.2.2不等值连接371
12.2.3自然连接372
12.2.4复杂的内连接查询372
12.3外连接373
12.3.1左外连接373
12.3.2右外连接374
12.3.3全外连接375
12.3.4通过外连接进行多表联合查询376
12.4其他连接377
12.4.1自连接377
12.4.2交叉连接377
第13章聚合与旋转数据379
13.1聚合数据380
13.1.1聚合数据380
13.1.2OVER子句380
13.1.3附加属性(Tiebreakers)383
13.1.4累积聚合384
13.1.5滑动聚合386
13.1.6YTD聚合388
13.2旋转数据(交叉表)388
13.2.1结果集的简单旋转389
13.2.2将结果集旋转成一行389
13.2.3将结果集旋转后求和390
13.2.4结果集旋转后汇总重复字段392
13.2.5动态生成旋转数据393
13.2.6结果集的反向旋转394
13.3常用交叉表查询395
13.3.1Access交叉表查询395
13.3.2SQL Server 2000交叉表查询397
13.3.3SQL Server 2005交叉表查询方案398
第14章视图403
14.1视图概述404
14.2视图创建404
14.2.1使用企业管理器创建视图404
14.2.2使用CREATE VIEW语句创建视图407
14.2.3使用向导创建视图409
14.2.4创建基于视图的视图411
14.3视图重命名413
14.4视图修改413
14.4.1使用企业管理器修改视图413
14.4.2使用ALTER VIEW语句修改视图414
14.5视图定义信息查询416
14.6视图删除418
14.6.1使用企业管理器删除视图418
14.6.2使用DROP VIEW语句删除视图419
14.7视图应用420
14.7.1通过视图添加数据420
14.7.2通过视图更新数据422
14.7.3通过视图删除数据422
14.7.4通过视图简化复杂查询423
14.7.5通过视图过滤不想要的数据424
14.7.6通过视图显示表达式的结果424
14.7.7在视图中使用WITH CHECK OPTION子句426
14.8使用视图加强数据安全427
14.8.1对视图进行加密427
14.8.2对不同的用户设置权限428
14.8.3通过视图限制用户对列的访问430
14.8.4通过视图限制用户对行的访问430
第15章存储过程433
15.1存储过程概述434
15.1.1存储过程的概念434
15.1.2存储过程的作用和功能434
15.1.3存储过程的优点435
15.2创建存储过程436
15.2.1CREATE PROCEDURE语句436
15.2.2创建具有回传参数的存储过程440
15.2.3在存储过程中使用事务448
15.2.4使用Return语句从存储过程中返回值449
15.3管理存储过程450
15.3.1执行存储过程451
15.3.2执行具有回传参数的存储过程453
15.3.3查看存储过程454
15.3.4修改存储过程456
15.3.5删除存储过程459
15.3.6存储过程的重新编译460
15.3.7调试存储过程462
15.3.8执行远程存储过程463
15.3.9扩展存储过程466
15.4在Oracle数据库下创建存储过程467
15.4.1创建存储过程467
15.4.2执行存储过程469
15.4.3删除存储过程469
15.5在MySQL数据库下创建存储过程469
15.5.1创建存储过程469
15.5.2执行存储过程471
第16章自定义函数及应用473
16.1自定义函数概述474
16.1.1自定义函数的特点474
16.1.2自定义函数的类别474
16.1.3自定义函数中有效语句类型474
16.2创建函数475
16.2.1创建自定义函数475
16.2.2创建标量函数476
16.2.3创建内联表值函数479
16.2.4创建多语句表值函数480
16.3管理函数482
16.3.1调用函数482
16.3.2查看函数483
16.3.3修改函数485
16.3.4删除函数487
16.3.5函数的架构绑定488
16.4函数与存储过程的区别489
第17章触发器491
17.1触发器的优点492
17.2触发器的种类492
17.2.1SQL Server中触发器的种类492
17.2.2Oracle中触发器的种类493
17.3创建触发器493
17.3.1创建简单的触发器493
17.3.2创建具有触发条件的触发器500
17.3.3创建嵌套触发器503
17.3.4创建递归触发器506
17.3.5创建INSTEAD OF触发器508
17.3.6创建列级触发器511
17.4管理触发器513
17.4.1查看触发器513
17.4.2修改触发器515
17.4.3重命名触发器517
17.4.4禁用和启用触发器518
17.4.5删除触发器519
17.5应用触发器520
17.5.1应用触发器添加数据520
17.5.2应用触发器修改数据522
17.5.3应用触发器删除数据523
17.6在Oracle数据库下创建触发器524
17.6.1DML触发器524
17.6.2创建DDL触发器526
17.7在MySQL数据库下创建触发器527
第18章游标及应用529
18.1创建游标530
18.1.1声明游标530
18.1.2打开游标532
18.1.3读取游标中数据533
18.1.4嵌套游标536
18.1.5关闭并释放游标538
18.1.6创建参数化游标539
18.2游标属性541
18.2.1获取游标状态541
18.2.2获取游标行数543
18.3游标操作544
18.3.1基于游标定位修改数据544
18.3.2基于游标定位删除数据546
18.3.3在游标中包含计算列547
18.3.4将游标中的数据进行排序显示549
18.4动态游标550
18.4.1声明游标变量550
18.4.2使用游标变量550
18.5游标系统存储过程553
18.5.1sp_cursor_list存储过程553
18.5.2sp_describe_cursor存储过程554
18.5.3sp_describe_cursor_columns存储过程556
18.5.4sp_describe_cursor_tables存储过程558
18.6在Oracle数据库下使用游标559
18.6.1显式游标559
18.6.2隐式游标561
第19章事务563
19.1事务概述564
19.1.1显式事务与隐性事务564
19.1.2设置事务属性567
19.1.3事务的工作机制568
19.1.4编写有效的事务569
19.2事务操作570
19.2.1提交事务570
19.2.2设置事务回退点572
19.2.3回滚事务574
19.3事务并发控制575
19.3.1事务的并发问题575
19.3.2表级锁定576
19.3.3设置事务隔离层并发控制579
19.3.4死锁的产生及预防581
19.4分布事务处理582
19.4.1分布式事务简介582
19.4.2创建分布式事务583
19.4.3分布式处理协调器583
第20章索引585
20.1索引的概述586
20.1.1索引的基本概念586
20.1.2索引的分类587
20.1.3使用索引的原则587
20.2创建索引588
20.2.1创建简单的非簇索引588
20.2.2创建多字段非簇索引590
20.2.3创建惟一索引591
20.2.4创建簇索引593
20.2.5创建虚拟列索引596
20.3维护索引598
20.3.1查看是否需要维护索引598
20.3.2重构索引600
20.3.3整理索引碎片602
20.3.4删除索引603
第21章聚合函数605
21.1统计聚合函数606
21.1.1求和函数606
21.1.2最大值函数610
21.1.3最小值函数613
21.1.4平均值函数617
21.1.5标准偏差函数621
21.1.6方差函数625
21.2行聚合函数630
21.2.1SQL Server:Count()函数630
21.2.2Oracle:Count()函数631
21.2.3MySql:Count()函数632
21.3列表函数632
21.3.1列表最大值函数632
21.3.2列表最小值函数634
第22章数学函数637
22.1符号转换判断函数638
22.1.1绝对值函数638
22.1.2符号判断函数640
22.2取舍函数641
22.2.1四舍五入函数641
22.2.2向上取整函数643
22.2.3向下取整函数645
22.3三角函数646
22.3.1正弦函数647
22.3.2反正弦函数649
22.3.3余弦函数650
22.3.4正切函数652
22.3.5反正切函数654
22.3.6余切函数656
22.3.7角度/弧度函数657
22.4指数/对数函数659
22.4.1指数函数659
22.4.2对数函数665
22.5进制转换函数668
22.5.1Oracle:Hextoraw()函数668
22.5.2Oracle:Rawtohex()函数669
22.6随机函数669
22.6.1SQL Server:Rand函数670
22.6.2MySQL:Rand()函数670
第23章字符串处理函数673
23.1大小写转换函数674
23.1.1大写转换函数674
23.1.2小写转换函数676
23.2去除空格函数678
23.2.1去除左空格函数678
23.2.2去除右空格函数680
23.3连接与截取函数681
23.3.1连接函数681
23.3.2截取函数683
23.4查找替换函数686
23.4.1查找函数686
23.4.2替换函数693
23.5其他字符处理函数697
23.5.1转换函数697
23.5.2修改函数701
23.5.3比较函数709
第24章日期时间处理函数713
24.1日期时间获取函数714
24.1.1日期获取函数714
24.1.2时间获取函数726
24.1.3星期函数729
24.2日期时间处理函数734
24.2.1日期修改函数734
24.2.2时间修改函数738
24.3日期时间比较函数741
24.3.1日期比较函数741
24.3.2时间比较函数743
24.4日期时间截取函数743
24.4.1获取日期时间各个部分743
24.4.2日期时间截取函数745
24.4.3日期时间格式化函数747
24.4.4日期时间格式化函数748
第25章数学函数753
25.1通用类型转换函数754
25.1.1SQL Server:Cast()函数754
25.1.2SQL Server:Convert()函数754
25.1.3Oracle:Convert()函数755
25.1.4Oracle:Cast()函数756
25.1.5MySQL:Convert()函数756
25.2具体类型转换函数757
25.2.1Oracle:To_Char()函数757
25.2.2Oracle:To_Data()函数757
25.2.3Oracle:AscIIStr()函数757
25.2.4Oracle:Bin_to_num()函数758
25.2.5Oracle:CharToRowID()函数758
25.2.6Oracle:Compose()函数759
25.2.7Oracle:DeCompose()函数759
25.2.8Oracle:RowIDToChar()函数760
25.2.9Oracle:To_Number()函数760
25.2.10MySQL:Str_To_Date()函数761
25.3类型判断函数761
25.3.1SQL Server:IsDate()函数761
25.3.2SQL Server:IsNull()函数762
25.3.3SQL Server:IsNumeric()函数762
25.3.4SQL Server:NullIf()函数763
实例索引765
……
❷ 常用的sql语句
1、DDL
2、DML
❸ SQL语言包括哪三种类型,每种类型又包括哪些语句
SQL包含四种程序设计语言类别的语句:数据定义语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)和事物控制语言(TCL)。
1、Data Definition Language(DDL) :CREATE DATABASE - 创建新数据库 ;ALTER DATABASE - 修改数据库;CREATE TABLE - 创建新表;ALTER TABLE - 变更(改变)数据库表;DROP TABLE - 删除表;CREATE INDEX - 创建索引(搜索键);DROP INDEX - 删除索引。
2、Data Manipulation Language(DML) :SELECT - 从数据库表中获取数据;UPDATE - 更新数据库表中的数据;DELETE - 从数据库表中删除数据;INSERT INTO - 向数据库表中插入数据。
3、Data Control Language(DCL) :GRANT - 授权;REVOKE - 撤销授权;DENY - 拒绝授权。
4、Transaction Control Language(TCL) :SAVEPOINT - 设置保存点;ROLLBACK - 回滚;COMMIT - 提交。
(3)SQL语言参考大全扩展阅读:
SQL功能极强,但由于设计巧妙,语言十分简洁,完成数据定义、数据操纵、数据控制的核心功能只用了9个动词: CREATE、 ALTER、DROP、 SELECT、 INSERT、 UPDATE、 DELETE、GRANT、 REVOKE。且SQL语言语法简单,接近英语口语,因此容易学习,也容易使用。
SQL采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
❹ SQL语言参考大全的内容简介
《SQL语言参考大全》是一本介绍SQL语言的综合参考手册,书中几乎囊括了使用SQL进行数据库开发和管理的各种技术,涉及当前流行的SQL Server 2000、SQL Server 2005、Oracle和MySQL 4种数据库。全书共分25章,包括数据库配置与管理、使用企业管理器管理数据库、SQL语言基础、管理数据库与数据表、添加数据、修改和删除数据、SQL基本查询、复杂查询、数据排序、数据统计分析、子查询、多表连接查询、聚合与旋转数据、视图、存储过程、自定义函数、触发器、游标、事务、索引、聚合函数、数学函数、字符串处理函数、日期时间处理函数和类型转换函数等内容。书中各部分技术既相对独立又相互联系,可以逐步引导读者深入学习并掌握SQL编程的各种知识、方法和技巧。
《SQL语言参考大全》附有配套光盘。光盘提供了书中实例的全部源代码,这些源代码都经过精心调试,在Windows 2000下测试通过,保证能够正常运行。
《SQL语言参考大全》内容精炼、重点突出、实例丰富,是从事数据库开发人员的必备参考书,同时也非常适合大、中专院校师生阅读。
❺ SQL语句有哪几种类型,各类型的主要作用是什么
1、数据操纵语言(DML):用来操纵数据库中数据的命令。包括:select、insert、update、delete。
2、数据定义语言(DDL):用来建立数据库、数据库对象和定义列的命令。包括:create、alter、drop。
3、数据控制语言(DCL):用来控制数据库组件。
(5)SQL语言参考大全扩展阅读:
SQL Server的特点如下:
1、具有真正的客户机和服务器体系结构。
2、图形化用户界面,使系统管理和数据库管理更加直观。
3、丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
4、其完全集成,利用了NT的许多功能,如发送和接受消息等。
❻ SQL语言参考大全的介绍
《SQL语言参考大全》是2008年人民邮电出版社出版的图书,作者是梁冰,陈丹丹,苏宇
❼ SQL语言参考大全的SQL语言参考大全
作者: 梁冰,陈丹丹,苏宇 编着
出 版 社: 人民邮电出版社
出版时间: 2008-10-1
字数: 1340000
版次: 1
页数: 776
开本: 16开
印次: 1
纸张: 胶版纸
I S B N : 9787115184726
包装: 平装
所属分类: 图书 >> 计算机/网络 >> 数据库 >> SQL
定价:¥89.00
❽ SQL语言参考大全的序言
SQL又称为结构化查询语言(Structured Query Language),是与当前关系型数据库交互的的通用语言。与程序设计语言不同,sQL只做一件事情,即为用户提供简单而有效率的数据读写操作(从数据库中)。作为一名数据库开发人员,除了掌握一门程序设计语言,还必须掌握SQL语言的相关知识,能够熟练使用SQL语句进行各种数据库操作。本书对SQL语言进行了详细介绍,并且提供了大量实例解决各种复杂的数据库操作,是数据库开发人员必不可少的参考工具书。本书内容
本书是一本SQL语言参考大全,几乎囊括了进行数据库程序开发的各种sQL知识,同时在讲解中结合了大量实用而又有代表性的示例和典型应用。
全书共25章。书中各部分技术既相对独立又相对联系,可以逐步引导读者深入学习并掌握SQL的编程知识、方法和技巧,是数据库开发人员必备的案头参考书。
第1章介绍sQL Server、Oracle、:MySQL数据库在Windows、Linux系统的安装,以及服务的启动和各种数据库的使用工具,使读者能够快速地掌握数据库的基本操作。
第2章介绍使用sQL Server和Oracle企业管理器进行数据库操作和维护。
第3章介绍sQL语言的基本知识,包括SQL语句的常量、变量、数据类型、运算符和流程控制语句。
第4章介绍数据库及数据表的创建、修改和删除操作。
第5章介绍数据的添加操作及如何利用数据添加来赋值数据表。
第6章介绍数据的修改和删除操作。
第7章介绍基本的数据查询语句。
第8章介绍各种复杂的数据查询。
第9章介绍数据的各种排序方法。
第1 0章介绍如何进行数据的分组统计。
第11章介绍子查询及递归查询的相关知识。
第12章介绍内联接、外联接、交叉联接等多表连接的相关知识。
第13章介绍数据的聚合与旋转。
第14章介绍视图的创建、修改和删除,以及如何通过视图修改基表数据。
第1 5章介绍存储过程的创建及应用。
第16章介绍自定义函数的创建、修改、删除及应用。
第17章介绍触发器的创建、修改、删除及应用。
第18章介绍游标的创建与使用。
第19章介绍事务的种类、性质及应用。
第20章介绍索引的创建与维护。
第21章介绍SQLServer、Oracle和MysQL中的聚合函数。
第22章介绍SQLServer、Oracle和MySQL中的数学函数。
--------------------------------------------------------------------------------
❾ 常用sql语句
1. 查看数据库的版本
select @@version
2. 查看数据库所在机器操作系统参数
exec master..xp_msver
3. 查看数据库启动的参数
sp_configure
4. 查看数据库启动时间
select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
查看数据库服务器名和实例名
print 'Server Name...............:' + convert(varchar(30),@@SERVERNAME)
print 'Instance..................:' + convert(varchar(30),@@SERVICENAME)
5. 查看所有数据库名称及大小
sp_helpdb
重命名数据库用的SQL
sp_renamedb 'old_dbname', 'new_dbname'
6. 查看所有数据库用户登录信息
sp_helplogins
查看所有数据库用户所属的角色信息
sp_helpsrvrolemember
修复迁移服务器时孤立用户时,可以用的fix_orphan_user脚本或者LoneUser过程
更改某个数据对象的用户属主
sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'
注意:更改对象名的任一部分都可能破坏脚本和存储过程。
把一台服务器上的数据库用户登录信息备份出来可以用add_login_to_aserver脚本
查看某数据库下,对象级用户权限
sp_helprotect
7. 查看链接服务器
sp_helplinkedsrvlogin
查看远端数据库用户登录信息
sp_helpremotelogin
8.查看某数据库下某个数据对象的大小
sp_spaceused @objname
还可以用sp_toptables过程看最大的N(默认为50)个表
查看某数据库下某个数据对象的索引信息
sp_helpindex @objname
还可以用SP_NChelpindex过程查看更详细的索引情况
SP_NChelpindex @objname
clustered索引是把记录按物理顺序排列的,索引占的空间比较少。
对键值DML操作十分频繁的表我建议用非clustered索引和约束,fillfactor参数都用默认值。
查看某数据库下某个数据对象的的约束信息
sp_helpconstraint @objname
9.查看数据库里所有的存储过程和函数
use @database_name
sp_stored_proceres
查看存储过程和函数的源代码
sp_helptext '@procere_name'
查看包含某个字符串@str的数据对象名称
select distinct object_name(id) from syscomments where text like '%@str%'
创建加密的存储过程或函数在AS前面加WITH ENCRYPTION参数
解密加密过的存储过程和函数可以用sp_decrypt过程
10.查看数据库里用户和进程的信息
sp_who
查看SQL Server数据库里的活动用户和进程的信息
sp_who 'active'
查看SQL Server数据库里的锁的情况
sp_lock
进程号1--50是SQL Server系统内部用的,进程号大于50的才是用户的连接进程.
spid是进程编号,dbid是数据库编号,objid是数据对象编号
查看进程正在执行的SQL语句
dbcc inputbuffer ()
推荐大家用经过改进后的sp_who3过程可以直接看到进程运行的SQL语句
sp_who3
检查死锁用sp_who_lock过程
sp_who_lock
11.查看和收缩数据库日志文件的方法
查看所有数据库日志文件大小
dbcc sqlperf(logspace)
如果某些日志文件较大,收缩简单恢复模式数据库日志,收缩后@database_name_log的大小单位为M
backup log @database_name with no_log
dbcc shrinkfile (@database_name_log, 5)
12.分析SQL Server SQL 语句的方法:
set statistics time {on | off}
set statistics io {on | off}
图形方式显示查询执行计划
在查询分析器->查询->显示估计的评估计划(D)-Ctrl-L 或者点击工具栏里的图形
文本方式显示查询执行计划
set showplan_all {on | off}
set showplan_text { on | off }
set statistics profile { on | off }
13.出现不一致错误时,NT事件查看器里出3624号错误,修复数据库的方法
先注释掉应用程序里引用的出现不一致性错误的表,然后在备份或其它机器上先恢复然后做修复操作
alter database [@error_database_name] set single_user
修复出现不一致错误的表
dbcc checktable('@error_table_name',repair_allow_data_loss)
或者可惜选择修复出现不一致错误的小型数据库名
dbcc checkdb('@error_database_name',repair_allow_data_loss)
alter database [@error_database_name] set multi_user
CHECKDB 有3个参数:
repair_allow_data_loss 包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,以及删除已损坏的文本对象,这些修复可能会导致一些数据丢失。
修复操作可以在用户事务下完成以允许用户回滚所做的更改。
如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。
如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。
修复完成后,请备份数据库。
repai*_**st 进行小的、不耗时的修复操作,如修复非聚集索引中的附加键。
这些修复可以很快完成,并且不会有丢失数据的危险。
repair_rebuild 执行由 repai*_**st 完成的所有修复,包括需要较长时间的修复(如重建索引)。
执行这些修复时不会有丢失数据的危险。
添加、删除、修改使用db.Execute(Sql)命令执行操作
╔--------------------╗
☆ 数据记录筛选 ☆
╚--------------------╝
注意:单双引号的用法可能有误(没有测式)
Sql = "Select Distinct 字段名 From 数据表"
Distinct函数,查询数据库存表内不重复的记录
Sql = "Select Count(*) From 数据表 where 字段名1>#18:0:0# and 字段名1< #19:00# "
count函数,查询数库表内有多少条记录,“字段名1”是指同一字段
例:
set rs=conn.execute("select count(id) as idnum from news")
response.write rs("idnum")
sql="select * from 数据表 where 字段名 between 值1 and 值2"
Sql="select * from 数据表 where 字段名 between #2003-8-10# and #2003-8-12#"
在日期类数值为2003-8-10 19:55:08 的字段里查找2003-8-10至2003-8-12的所有记录,而不管是几点几分。
select * from tb_name where datetime between #2003-8-10# and #2003-8-12#
字段里面的数据格式为:2003-8-10 19:55:08,通过sql查出2003-8-10至2003-8-12的所有纪录,而不管是几点几分。
Sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"
Sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"
模糊查询
Sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"
查找数据库中前10记录
Sql="select top n * form 数据表 order by newid()"
随机取出数据库中的若干条记录的方法
top n,n就是要取出的记录数
Sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"
╔--------------------╗
☆ 添加数据记录 ☆
╚--------------------╝
sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"
sql="insert into 数据表 valuess (值1,值2,值3 …)"
不指定具体字段名表示将按照数据表中字段的顺序,依次添加
sql="insert into 目标数据表 select * from 源数据表"
把源数据表的记录添加到目标数据表
╔--------------------╗
☆ 更新数据记录 ☆
╚--------------------╝
Sql="update 数据表 set 字段名=字段值 where 条件表达式"
Sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
Sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n "
没有条件则更新整个数据表中的指定字段值
╔--------------------╗
☆ 删除数据记录 ☆
╚--------------------╝
Sql="delete from 数据表 where 条件表达式"
Sql="delete from 数据表"
没有条件将删除数据表中所有记录)
╔--------------------------╗
☆ 数据记录统计函数 ☆
╚--------------------------╝
AVG(字段名) 得出一个表格栏平均值
COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=conn.excute(sql)
用 rs("别名") 获取统的计值,其它函数运用同上。
╔-----------------------------╗
☆ 数据表的建立和删除 ☆
╚-----------------------------╝
CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
例:CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE 数据表名称 (永久性删除一个数据表)
╔--------------------------╗
☆ 记录集对象的方法 ☆
╚--------------------------╝
rs.movenext 将记录指针从当前的位置向下移一行
rs.moveprevious 将记录指针从当前的位置向上移一行
rs.movefirst 将记录指针移到数据表第一行
rs.movelast 将记录指针移到数据表最后一行
rs.absoluteposition=N 将记录指针移到数据表第N行
rs.absolutepage=N 将记录指针移到第N页的第一行
rs.pagesize=N 设置每页为N条记录
rs.pagecount 根据 pagesize 的设置返回总页数
rs.recordcount 返回记录总数
rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否
rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否
rs.delete 删除当前记录,但记录指针不会向下移动
rs.addnew 添加记录到数据表末端
rs.update 更新数据表记录
❿ sql语言中提供了哪些数据控制的语句
SQL中的控制语句:
1、IF语句
2、While语句
3、GOTO语句(SQL2000版本或之前版本,在SQL2005以后不建议使用)
4、TRY语句(SQL2005版本或以后版本)
5、GRANT(授权)语句
6、REVOKE(收回)语句,等等。
(10)SQL语言参考大全扩展阅读:
sql语言常见语句
查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)
排序:select * from table1 order by field1,field2 [desc]
最小:select min(field1) as minvalue from table1[separator]