第1篇 Java语法与面向对象技术 2
第1章 开发环境的应用 2
1.1 Java环境 3
实例001 下载JDK开发工具包 3
实例002 把JDK工具包安装到指定磁盘 5
实例003 设置JDK的环境变量 6
实例004 验证Java开发环境 8
实例005 下载并安装JRE执行环境 9
实例006 编程输出星号组成的等腰三角形 10
1.2 开发工具 12
实例007 下载最新的Eclipse 12
实例008 为最新的Eclipse安装中文语言包 14
实例009 活用Eclipse的工作空间 16
实例010 在Eclipse项目中编程输出字符表情 17
实例011 为Eclipse添加新的JDK环境 19
实例012 将已有项目导入到Eclipse 20
实例013 为项目添加类库 21
实例014 使当前项目依赖另一个项目 22
1.3 界面设计器 22
实例015 安装界面设计器 22
实例016 设计Windows系统的运行对话框界面 24
实例017 设计计算器程序界面 26
实例018 设计关于进销存管理系统的界面 28
第2章 Java基础应用 29
2.1 基本语法 30
实例019 输出错误信息与调试信息 30
实例020 从控制台接收输入字符 31
实例021 重定向输出流实现程序日志 31
实例022 自动类型转换与强制类型转换 33
2.2 运算符 34
实例023 加密可以这样简单(位运算) 34
实例024 用三元运算符判断奇数和偶数 35
实例025 更精确地使用浮点数 35
实例026 不用乘法运算符实现2×16 37
实例027 实现两个变量的互换(不借助第3个变量) 37
2.3 条件语句 38
实例028 判断某一年是否为闰年 38
实例029 验证登录信息的合法性 39
实例030 为新员工分配部门 40
实例031 使用Switch语句根据消费金额计算折扣 41
实例032 判断用户输入月份的季节 42
2.4 循环控制 43
实例033 使用while与自增运算符循环遍历数组 43
实例034 使用for循环输出杨辉三角 43
实例035 使用嵌套循环在控制台上输出九九乘法表 44
实例036 用while循环计算1+1/2!+1/3!…1/20! 45
实例037 for循环输出空心的菱形 46
实例038 foreach循环优于for循环 47
实例039 终止循环体 48
实例040 循环体的过滤器 49
实例041 循环的极限 50
第3章 数组与集合的应用 51
3.1 数组演练 52
实例042 获取一维数组最小值 52
实例043 将二维数组中的行列互换 53
实例044 利用数组随机抽取幸运观众 54
实例045 用数组设置JTable表格的列名与列宽 55
3.2 数组操作 57
实例046 数组的下标界限 57
实例047 按钮控件数组实现计数器界面 58
实例048 复选框控件数组 59
实例049 用数组反转字符串 60
3.3 数组排序与查询 61
实例050 使用选择排序法 61
实例051 使用冒泡排序法 62
实例052 使用快速排序法 64
实例053 使用直接插入法 65
实例054 使用sort()方法对数组进行排序 67
实例055 反转数组中元素的顺序 68
3.4 常用集合的使用 69
实例056 用动态数组保存学生姓名 69
实例057 用List集合传递学生信息 70
实例058 用TreeSet生成不重复自动排序的随机数组 71
实例059 Map映射集合实现省市级联选择框 73
第4章 字符串处理技术 75
4.1 格式化字符串 76
实例060 把数字格式化为货币字符串 76
实例061 格式化当前日期 77
实例062 货币金额大写格式 78
实例063 String类格式化当前日期 80
实例064 字符串大小写转换 82
实例065 字符与Unicode码的转换 83
4.2 辨别字符串 84
实例066 判断用户名是否正确 84
实例067 用户名排序 85
实例068 判断网页请求与FTP请求 86
实例069 判断文件类型 87
实例070 判断字符串是否为数字 89
实例071 验证IP地址的有效性 90
实例072 鉴别非法电话号码 91
4.3 操作字符串 92
实例073 根据标点符号对字符串进行分行 92
实例074 将字符串的每个字符进行倒序输出 94
实例075 获取字符串中汉字的个数 94
实例076 批量替换某一类字符串 95
实例077 把异常与错误信息显示到窗体中 97
实例078 从字符串中分离文件路径、文件名及扩展名 98
实例079 判断手机号的合法性 99
实例080 用字符串构建器追加字符 100
实例081 去掉字符串中的所有空格 101
实例082 汉字与区位码的转换 102
第5章 面向对象技术应用 103
5.1 Java中类的定义 104
实例083 自定义图书类 104
实例084 温度单位转换工具 105
实例085 域的默认初始化值 106
实例086 编写同名的方法 107
实例087 构造方法的应用 108
5.2 修饰符的使用 109
实例088 单例模式的应用 109
实例089 祖先的止痒药方 110
实例090 统计图书的销售量 111
实例091 汉诺塔问题求解 112
实例092 不能重写的方法 113
5.3 包装类的使用 114
实例093 将字符串转换成整数 114
实例094 整数进制转换器 115
实例095 查看数字的取值范围 116
实例096 ASCII编码查看器 117
实例097 Double类型的比较 118
5.4 面向对象的特征 119
实例098 经理与员工的差异 119
实例099 重写父类中的方法 121
实例100 计算几何图形的面积 122
实例101 提高产品质量的方法 123
实例102 简单的汽车销售商场 124
5.5 Object类的应用 126
实例103 两只完全相同的宠物 126
实例104 简化equals()方法的重写 127
实例105 重新计算对象的哈希码 129
实例106 简化hashCode()方法的重写 130
实例107 使用字符串输出对象 132
实例108 简化toString()方法的重写 133
5.6 克隆与序列化 134
实例109 Java对象的假克隆 134
实例110 Java对象的浅克隆 135
实例111 Java对象的深克隆 137
实例112 序列化与对象克隆 139
实例113 深克隆效率的比较 141
实例114 transient关键字的应用 143
5.7 接口和内部类 145
实例115 使用sort()方法排序 145
实例116 简化compareTo()方法的重写 146
实例117 策略模式的简单应用 148
实例118 适配器模式的简单应用 149
实例119 普通内部类的简单应用 151
实例120 局部内部类的简单应用 152
实例121 匿名内部类的简单应用 153
实例122 静态内部类的简单应用 154
第2篇 Java高级应用 158
第6章 枚举与泛型的应用 158
6.1 枚举使用简介 159
实例123 查看枚举类型的定义 159
实例124 枚举类型的基本特性 160
实例125 增加枚举元素的信息 161
实例126 选择合适的枚举元素 162
实例127 高效的枚举元素集合 163
实例128 高效的枚举元素映射 164
实例129 遍历枚举接口的元素 165
实例130 简单的文件合并工具 166
6.2 泛型使用简介 168
实例131 自定义非泛型栈结构 168
实例132 使用泛型实现栈结构 169
实例133 自定义泛型化数组类 170
实例134 泛型方法与数据查询 171
实例135 泛型化方法与最小值 173
实例136 泛型化接口与最大值 174
实例137 使用通配符增强泛型 175
实例138 泛型化的折半查找法 176
第7章 反射与异常处理 178
7.1 反射的基础 179
实例139 实例化Class类的5种方式 179
实例140 获得Class对象表示实体的名称 180
实例141 查看类的声明 181
实例142 查看类的成员 182
实例143 按继承层次对类排序 184
实例144 查看内部类信息 185
7.2 反射的进阶 186
实例145 动态设置类的私有域 186
实例146 动态调用类中的方法 187
实例147 动态实例化类 188
实例148 创建长度可变的数组 189
实例149 利用反射重写toString()方法 191
实例150 反射与动态代理 192
7.3 常见的未检查型异常 193
实例151 算数异常 193
实例152 数组存值异常 194
实例153 数组下标越界异常 195
实例154 空指针异常 196
7.4 常见的已检查型异常 197
实例155 类未发现异常 197
实例156 非法访问异常 198
实例157 文件未发现异常 199
实例158 数据库操作异常 200
7.5 处理异常 201
实例159 方法中抛出异常 201
实例160 方法上抛出异常 202
实例161 自定义异常类 203
实例162 捕获单个异常 204
实例163 捕获多个异常 205
第8章 多线程技术 206
8.1 线程的基础 207
实例164 新建无返回值的线程 207
实例165 查看线程的运行状态 208
实例166 查看JVM中的线程名 209
实例167 查看和修改线程名称 211
实例168 查看和修改线程优先级 213
实例169 使用守护线程 214
实例170 休眠当前线程 215
实例171 终止指定线程 217
实例172 线程的插队运行 218
8.2 线程的同步 219
实例173 非同步的数据读写 219
实例174 使用方法实现线程同步 220
实例175 使用代码块实现线程同步 222
实例176 使用特殊域变量实现线程同步 223
实例177 使用重入锁实现线程同步 224
实例178 使用线程局部变量实现线程同步 225
实例179 简单的线程通信 227
实例180 简单的线程死锁 228
实例181 解决线程的死锁问题 230
8.3 线程的进阶 231
实例182 使用阻塞队列实现线程同步 231
实例183 新建有返回值的线程 232
实例184 使用线程池优化多线程编程 234
实例185 Object类中线程相关的方法 235
实例186 哲学家就餐问题 237
实例187 使用信号量实现线程同步 238
实例188 使用原子变量实现线程同步 239
实例189 使用事件分配线程更新Swing控件 241
实例190 使用SwingWorker类完成耗时操作 242
第9章 编程常用类 243
9.1 Calendar类的使用 244
实例191 简单的数字时钟 244
实例192 简单的电子时钟 245
实例193 简单的模拟时钟 246
实例194 简单的公历万年历 248
实例195 查看生日相关信息 249
9.2 SimpleDateFormat与TimeZone类的使用 250
实例196 日期格式有效性判断 250
实例197 常见日期格式使用 252
实例198 查看本地时区 253
实例199 简单的时区转换工具 254
9.3 System类的使用 255
实例200 查看常用系统属性 255
实例201 重定向标准输出 256
实例202 计算程序运行时间 257
实例203 从控制台输入密码 258
9.4 Math类的使用 259
实例204 角度和弧度的转换 259
实例205 三角函数的使用 260
实例206 反三角函数的使用 261
实例207 双曲函数的使用 262
实例208 指数与对数运算 263
9.5 其他常用类的使用 264
实例209 高精度整数运算 264
实例210 高精度浮点运算 265
实例211 七星彩号码生成器 266
实例212 大乐透号码生成器 267
实例213 监视JVM内存状态 268
实例214 启动默认文本工具 269
实例215 简单的截图软件 270
第10章 Commons组件 272
10.1 Commons Lang组件简介 273
实例216 数组元素的增加 273
实例217 数组元素的删除 274
实例218 生成随机字符串 275
实例219 序列化与反序列化 276
实例220 分数的常见运算 277
实例221 整数取值范围判断 279
10.2 Commons Math组件简介 280
实例222 描述统计学应用 280
实例223 绘制简单直方图 281
实例224 一元线性回归计算 282
实例225 实数矩阵的运算 283
实例226 复数的常见运算 284
实例227 T分布常用计算 285
10.3 Commons IO组件简介 286
实例228 简化文件(夹)删除 286
实例229 简化文件(夹)复制 287
实例230 简化文件(夹)排序 288
实例231 简化文件(夹)过滤 289
实例232 简化文件的读写操作 290
10.4 Commons BeanUtils组件简介 291
实例233 设置JavaBean简单属性 291
实例234 设置JavaBean级联属性 293
实例235 动态生成JavaBean 295
实例236 复制JavaBean属性 296
实例237 动态排序JavaBean 298
10.5 其他Commons组件简介 299
实例238 优雅的JDBC代码 299
实例239 结果集与Bean列表 301
实例240 编写MD5查看器 302
实例241 基于Base64编码 304
实例242 基于Base64解码 305
实例243 发送简单的E-mail 306
实例244 发送带附件的E-mail 308
实例245 读取XML文件属性 310
第3篇 窗体与控件应用 314
第11章 窗体设计 314
11.1 设置窗体位置 315
实例246 控制窗体加载时的位置 315
实例247 设置窗体在屏幕中的位置 315
实例248 从上次关闭位置启动窗体 316
实例249 始终在桌面最顶层显示的窗体 317
11.2 调整窗体大小 319
实例250 设置窗体大小 319
实例251 根据桌面大小调整窗体大小 320
实例252 自定义最大化、最小化和关闭按钮 321
实例253 禁止改变窗体的大小 323
11.3 设置窗体的标题栏 324
实例254 指定窗体标题栏图标 324
实例255 拖动没有标题栏的窗体 325
实例256 取消窗体标题栏与边框 326
实例257 设置闪烁的标题栏 328
11.4 设置窗体的背景 329
实例258 设置窗体背景颜色为淡蓝色 329
实例259 实现带背景图片的窗体 330
实例260 使背景图片自动适应窗体的大小 331
实例261 背景为渐变色的主界面 332
实例262 随机更换窗体背景 334
11.5 窗体形状及应用 335
实例263 椭圆形窗体界面 335
实例264 钻石形窗体 336
实例265 创建透明窗体 337
11.6 对话框 338
实例266 模态对话框与非模态对话框 338
实例267 信息提示对话框 340
实例268 设置信息提示对话框的图标 341
实例269 文件选择对话框指定数据库备份文件 342
实例270 指定打开对话框的文件类型 343
实例271 文件的保存对话框 344
实例272 为保存对话框设置默认文件名 346
实例273 支持图片预览的文件选择对话框 347
实例274 颜色选择对话框 348
实例275 信息输入对话框 350
实例276 定制信息对话框 350
11.7 MDI窗体的使用 352
实例277 创建内部子窗体 352
实例278 使子窗体最大化显示 353
实例279 对子窗体进行平铺排列 354
实例280 禁用MDI窗体控制栏中的“最大化”按钮 355
第12章 窗体特效 357
12.1 让窗体更有活力 358
实例281 右下角弹出信息窗体 358
实例282 淡入淡出的窗体 359
实例283 窗体顶层的进度条 361
实例284 设置窗体的鼠标光标 362
实例285 窗体抖动 363
实例286 窗体标题显示计时器 364
实例287 动态展开窗体 365
实例288 仿QQ隐藏窗体 366
实例289 窗体百叶窗登场特效 367
实例290 关闭窗体打开网址 368
12.2 窗体与控件外观 369
实例291 Nimbus外观 369
实例292 本地系统外观 370
实例293 分割的窗体界面 371
实例294 圆周运动的窗体 373
第13章 基本控件应用 375
13.1 顶层容器的应用 376
实例295 框架容器的背景图片 376
实例296 更多选项的框架容器 377
实例297 拦截事件的玻璃窗格 378
实例298 简单的每日提示信息 379
实例299 震动效果的提示信息 380
13.2 布局管理器应用 382
实例300 边框布局的简单应用 382
实例301 流式布局的简单应用 383
实例302 网格布局的简单应用 384
实例303 制作圆形布局管理器 385
实例304 制作阶梯布局管理器 386
13.3 输入控件的应用 387
实例305 可以打开网页的标签 387
实例306 密码域控件的简单应用 389
实例307 给文本域设置背景图片 390
实例308 给文本区设置背景图片 391
实例309 简单的字符统计工具 392
13.4 选择控件的应用 393
实例310 能预览图片的复选框 393
实例311 简单的投票计数软件 394
实例312 单选按钮的简单应用 395
实例313 能显示图片的组合框 396
实例314 使用滑块来选择日期 398
13.5 菜单控件的应用 400
实例315 模仿记事本的菜单栏 400
实例316 自定义纵向的菜单栏 401
实例317 复选框与单选按钮菜单 402
实例318 包含图片的弹出菜单 404
实例319 工具栏的实现与应用 405
13.6 其他技术的应用 406
实例320 自定义软件安装向导 406
实例321 查看系统支持的外观 407
实例322 制作软件的闪屏界面 408
实例323 自定义系统托盘图标 410
实例324 使用撤销与重做功能 412
第14章 复合数据类型控件应用 414
14.1 列表的简单应用 415
实例325 修改列表项显示方式 415
实例326 修改列表项选择模式 416
实例327 列表项的全选与不选 417
实例328 列表元素与提示信息 419
实例329 监听列表项单击事件 420
实例330 监听列表项双击事件 421
14.2 列表的高级应用 422
实例331 实现自动排序的列表 422
实例332 列表项的增加与删除 423
实例333 查找特定的列表元素 425
实例334 包含边框的列表元素 426
实例335 包含图片的列表元素 427
实例336 可以预览字体的列表 428
14.3 表格的简单应用 430
实例337 表头与列的高度设置 430
实例338 调整表格各列的宽度 431
实例339 设置表格的选择模式 433
实例340 为表头增添提示信息 434
实例341 单元格的粗粒度排序 436
实例342 实现表格的查找功能 437
14.4 表格的高级应用 438
实例343 在表格中应用组合框 438
实例344 删除表格中选中的行 440
实例345 实现表格的分页技术 442
实例346 为单元格绘制背景色 444
实例347 实现表格的栅栏效果 445
实例348 单元格的细粒度排序 446
14.5 树控件简单应用 448
实例349 编写中国省市信息树 448
实例350 树控件常用遍历方式 449
实例351 自定义树节点的图标 451
实例352 监听节点的选择事件 452
实例353 设置树控件选择模式 453
实例354 查看节点的各种状态 455
14.6 树控件高级应用 456
实例355 在树控件中增加节点 456
实例356 在树控件中删除节点 458
实例357 在树控件中查找节点 459
实例358 自定义树节点的外观 460
实例359 为树节点增加提示信息 463
实例360 双击编辑树节点功能 464
第15章 其他高级控件应用 466
15.1 JTextPane控件的应用 467
实例361 自定义文档标题的样式 467
实例362 文档中显示自定义图片 468
实例363 检查代码中的括号是否匹配 469
实例364 描红显示100以内的质数 471
15.2 JEditorPane控件的应用 472
实例365 自定义RTF文件查看器 472
实例366 编写简单的浏览器 474
实例367 支持超链接的浏览器 474
实例368 高亮用户指定的关键字 476
15.3 其他文本控件的应用 477
实例369 只能输入整数的文本域 477
实例370 强制输入合法的整数 478
实例371 使用微调控件调整时间 479
实例372 使用微调控件浏览图片 480
15.4 进度指示器的应用 481
实例373 显示完成情况的进度条 481
实例374 监听进度条的变化事件 482
实例375 进度监视器控件的应用 484
实例376 监视文件读入的进度 485
15.5 控件组织器的应用 487
实例377 分割面板的简单应用 487
实例378 为选项卡增加快捷键 488
实例379 为选项卡标题设置图标 489
实例380 记录选项卡的访问状态 490
第16章 控件特效与自定义控件 492
16.1 控件边框效果 493
实例381 实现标签控件的立体边框 493
实例382 实现按钮控件边框留白 494
实例383 实现文本域控件的浮雕化边框 495
实例384 为文本框控件添加LineBorder线形边框 496
实例385 控件的纯色边框与图标边框 498
实例386 实现带标题边框的面板容器 499
实例387 指定字体的标题边框 501
实例388 嵌套的标题边框 502
实例389 带图标边框的标题边框 503
实例390 文本框的下划线边框 504
16.2 控件渲染让界面UI更灵活 506
实例391 支持图标的列表控件 506
实例392 在列表控件中显示单选按钮 507
实例393 列表控件折行显示列表项 508
实例394 使用图片制作绚丽按钮 510
实例395 实现按钮关键字描红 511
实例396 忙碌的按钮控件 512
实例397 实现透明效果的表格控件 513
实例398 在表格中显示工作进度百分比 515
实例399 在表格中显示图片 517
16.3 让控件活起来 518
实例400 鼠标经过时按钮放大效果 518
实例401 迟到的登录按钮 520
实例402 焦点按钮的缩放 521
实例403 标签文本的跑马灯特效 522
实例404 延迟生效的按钮 524
实例405 动态加载表格数据 525
16.4 自定义控件 526
实例406 石英钟控件 526
实例407 IP输入文本框控件 527
实例408 日历控件 530
实例409 平移面板控件 531
实例410 背景图面板控件 533
第4篇 文件操作典型应用 536
第17章 文件与文件夹操作 536
17.1 文件操作 537
实例411 修改文件属性 537
实例412 显示指定类型的文件 538
实例413 以树结构显示文件路径 540
实例414 查找替换文本文件内容 541
实例415 支持图片预览的文件选择对话框 543
实例416 设置Windows的文件属性 545
实例417 文件批量重命名 547
实例418 快速批量移动文件 549
实例419 删除磁盘中所有的.tmp临时文件 551
17.2 文件与数据库 553
实例420 提取数据库内容到文件 553
实例421 提取文本文件的内容到MySQL数据库 555
实例422 将图片文件保存到SQL Server数据库 556
实例423 显示数据库中的图片信息 558
实例424 提取技术网站数据到文件夹 559
实例425 读取文件路径到数据库 561
实例426 在数据库中建立磁盘文件索引 562
17.3 操作磁盘文件夹 564
实例427 窗体动态加载磁盘文件 564
实例428 删除文件夹中的所有文件 565
实例429 创建磁盘索引文件 567
实例430 快速全盘查找文件 568
实例431 获取磁盘所有文本文件 570
实例432 网络文件夹备份 571
第18章 文件的读取、写入、整理和控制 573
18.1 文件的读取与写入 574
实例433 将键盘录入内容保存到文本文件中 574
实例434 将数组写入文件中并逆序输出 575
实例435 利用StringBuffer避免文件的多次写入 576
实例436 合并多个txt文件 577
实例437 实现文件简单加密与解密 579
实例438 对大文件实现分割处理 581
实例439 将分割后的文件重新合并 583
实例440 读取属性文件的单个属性值 584
实例441 向属性文件中添加信息 585
实例442 在复制文件时使用进度条 586
实例443 从XML文件中读取数据 587
实例444 读取Jar文件属性 589
实例445 电子通讯录 590
18.2 实现文件整理 592
实例446 批量复制指定扩展名的文件 592
实例447 计数器小程序 594
实例448 将某文件夹中的文件进行分类存储 595
18.3 文件控制 597
实例449 利用StreamTokenizer统计文件的字符数 597
实例450 在指定目录下搜索文件 598
实例451 序列化与反序列化对象 600
实例452 文件锁定 602
实例453 投票统计 603
第19章 文件压缩 605
19.1 Java实现文件压缩 606
实例454 压缩所有文本文件 606
实例455 压缩包解压到指定文件夹 607
实例456 压缩所有子文件夹 608
实例457 深层文件夹压缩包的释放 610
实例458 解决压缩包中文乱码 611
实例459 Apache实现文件解压缩 612
实例460 把窗体压缩成ZIP文件 613
实例461 解压缩Java对象 615
19.2 RAR文件压缩 616
实例462 文件压缩为RAR文档 616
实例463 解压缩RAR压缩包 619
实例464 文件分卷压缩 621
实例465 为RAR压缩包添加注释 623
实例466 获取压缩包详细文件列表 625
实例467 从RAR压缩包中删除文件 627
实例468 在压缩文件中查找字符串 628
实例469 重命名RAR压缩包中的文件 629
实例470 创建自解压RAR压缩包 631
实例471 设置RAR压缩包密码 632
19.3 数据压缩的网络应用 634
实例472 以压缩格式传输网络数据 634
实例473 压缩远程文件夹 637
实例474 压缩存储网页 638
第20章 操作办公文档 640
20.1 操作Word 641
实例475 将文本文件导入Word中 641
实例476 浏览本地Word文件 642
实例477 将员工表插 Word文档中 644
实例478 将员工照片插入Word简历中 645
实例479 将Word文档保存为HTML格式 646
20.2 操作Excel 647
实例480 将员工信息保存到Excel表中 647
实例481 通过Excel公式计算出商品表中的总售价 649
实例482 将数据库表中的内容写入Excel中 651
实例483 将Excel表中的内容保存到数据库 653
实例484 将Excel文件转换为HTML格式 654
20.3 操作PDF 655
实例485 应用iText组件生成PDF 655
实例486 在窗体中显示PDF文件 657
实例487 应用PDF Renderer组件实现放大PDF文件 658
实例488 应用PDF Renderer组件实现缩小PDF文件 660
实例489 应用PDF Renderer组件实现抓手功能 661
实例490 全屏显示PDF文件 662
第5篇 数据库应用 666
第21章 数据库操作 666
21.1 通过JDBC-ODBC桥连接数据库 667
实例491 通过JDBC-ODBC桥连接SQL Server 2000数据库 667
实例492 JDBC-ODBC桥连接Access数据库 669
实例493 JDBC-ODBC桥与Oracle数据库建立连接 671
21.2 JDBC技术连接数据库 672
实例494 通过JDBC连接SQL Server 2000数据库 672
实例495 JDBC连接MySQL数据库 674
实例496 JDBC连接SQL Server 2005数据库 675
实例497 JDBC技术连接Oracle数据库 676
实例498 JDBC连接JavaDB数据库 677
21.3 数据库与数据表 678
实例499 列举SQL Server数据库下的数据表 678
实例500 列举MySQL数据库下的数据表 679
实例501 查看数据表结构 680
实例502 动态维护投票数据库 682
实例503 SQL Server数据备份 683
实例504 SQL Server数据恢复 686
实例505 MySQL数据备份 689
实例506 MySQL数据恢复 691
实例507 动态附加数据库 692
实例508 生成SQL数据库脚本 694
实例509 获取SQL Server数据表字段的描述信息 695
21.4 数据增加、更新与删除操作 697
实例510 将员工信息添加到数据表 697
实例511 添加数据时使用数据验证 698
实例512 插入用户登录日志信息 700
实例513 生成有规律的编号 701
实例514 生成无规律的编号 703
实例515 在插入数据时过滤掉危险字符 704
实例516 将用户选择的爱好以字符串形式保存到数据库 705
实例517 将数据从一张表复制到另一张表 706
实例518 使用UNION ALL语句批量插入数据 707
实例519 更新指定记录 708
实例520 在删除数据时给出提示信息 709
实例521 将数据表清空 710
实例522 字符串大小写转换 711
第22章 SQL应用 713
22.1 排序和分组函数应用 714
实例523 对数据进行降序查询 714
实例524 对数据进行多条件排序查询 716
实例525 对统计结果进行排序 717
实例526 查询SQL Server数据库中的前3条数据 718
实例527 查询SQL Server数据库中的后3条数据 719
实例528 查询MySQL数据库中的前3条数据 720
实例529 查询MySQL数据库中的后3条数据 721
实例530 按照字母顺序对留学生表进行排序 722
实例531 按姓氏笔画排序 724
实例532 将汉字按音序排序 725
实例533 按列的编号排序 726
实例534 从表中随机返回记录 727
实例535 使用GROUP BY子句实现对数据的分组统计 728
实例536 使用GROUP BY子句实现多表分组统计 729
22.2 聚集函数与日期查询 730
实例537 利用SUM()函数实现数据汇总 730
实例538 利用AVG()函数实现计算平均值 731
实例539 利用MIN()函数求数据表中的最小值 732
实例540 利用MAX()函数求数据表中的最大值 733
实例541 利用COUNT()函数求销售额大于某值的图书种类 735
实例542 查询编程词典6月的销售量 736
实例543 查询与张静同一天入职的员工信息 737
实例544 使用IN谓词查询某几个时间的数据 739
实例545 日期查询中避免千年虫问题 740
22.3 大小比较与逻辑应用 741
实例546 在查询结果中不显示重复记录 741
实例547 使用NOT查询不满足条件的记录 742
实例548 使用between进行区间查询 744
实例549 列出销量表中的重复记录和记录条数 745
实例550 使用关系运算符查询某一时间段数据 746
实例551 计算两个日期之间的月份数 747
实例552 格式化金额 749
实例553 在查询语句中过滤掉字符串中的空格 750
第23章 数据查询 752
23.1 使用子查询 753
实例554 将子查询作为表达式 753
实例555 用子查询作为派生表 754
实例556 通过子查询关联数据 755
实例557 使用IN谓词限定查询范围 756
实例558 使用NOT IN子查询实现差集运算 758
实例559 使用NOT IN子查询实现反向查询 759
实例560 返回笛卡儿乘积 760
实例561 比较运算符引入子查询 761
实例562 在子查询中使用聚集函数 762
实例563 在删除数据时使用子查询 763
23.2 嵌套查询 764
实例564 查询平均成绩在85分以上的学生信息 764
实例565 查询本科部门经理月收入情况 766
实例566 在嵌套中使用EXISTS关键字 767
实例567 动态指定查询条件 768
23.3 连接查询 769
实例568 使用UNION运算符使学生档案归档 769
实例569 内连接获取指定课程的教师信息 771
实例570 左外连接查询员工信息 772
实例571 右外连接查询员工信息 773
实例572 多表外连接查询 774
实例573 完全连接查询 775
23.4 函数查询 777
实例574 在查询中使用patindex()函数进行模糊查询 777
实例575 对查询结果进行格式化 778
实例576 在查询中使用字符串函数 780
实例577 在查询中使用ALL谓词 781
实例578 在查询中使用ANY谓词 782
实例579 使用UNION运算符消除重复的行 784
实例580 使用UNION ALL运算符保留重复的行 785
实例581 计算商品销售额所占的百分比 786
第24章 数据库高级应用 787
24.1 在Java程序中使用存储过程 788
实例582 调用存储过程实现用户身份验证 788
实例583 应用存储过程添加数据 789
实例584 调用加密存储过程 791
实例585 获取数据库中所有存储过程 792
实例586 修改存储过程 793
实例587 删除存储过程 795
24.2 使用触发器 796
实例588 应用触发器添加日志信息 796
实例589 在删除成绩表时将学生表中的数据删除 798
实例590 在程序中调用UPDATE触发器 799
实例591 获取数据库中的触发器名称 801
实例592 创建带有触发条件的触发器 802
24.3 使用批处理 803
实例593 使用批处理删除数据 803
实例594 使用批处理提升部门员工工资 805
实例595 将教师表中的数据全部添加到选课表 806
实例596 在批处理中使用事务 807
24.4 使用视图 809
实例597 创建视图 809
实例598 使用视图过滤不想要的数据 810
实例599 使用视图与计算数据 812
实例600 使用视图重新格式化检索出来的数据 813
实例601 获取数据库中的全部用户视图 814
实例602 修改视图 815
实例603 删除视图 816