快速入门 Windows 批处理编写:无需编程经验

数据来源 

以下命令不熟悉的可以点这里,或上百度查询 - - DOS 命令

建议:初学者在虚拟机中完成实验!!!

1、批处理作用

        自上而下成批处理每一条命令,知道最后一条!

2、如何创建批处理

        扩展名:.bat

        创建方法:新建一个记事本文件,然后将扩展名改为 .bat

        运行.bat 文件:双击 

         注:修改扩展名时需要将文件的扩展名显示出来后再进行修改!

        案例:新建一个记事本文件,然后件扩展名改为.bat,内容如下:

        下面这些命令会删除D盘下的所有文件,建议到虚拟机上测试

                d:

                cd \

                cd tmp

                del ./s /q  

3、批处理基本语法

1. @echo off

        作用:关闭回显功能,也就是屏蔽执行过程,建议放置在批处理的首行。

2. pause

        作用:暂停批处理运行

案例:

        @echo off

        pause

        执行结果如下:

       

3. echo 

        作用: 输出字符串

        用法:

             (1)echo   需要打印到屏幕的字符串

             (2)echo.   (表示空行)

4. color 

        作用: 设置字体颜色

        用法:

             (1)color ? (获取使用方法 )

             (2)color 0a(设置字体为绿色 )        

5. title

        作用: 为批处理脚本设置标题

        用法:title 标题名称

6.  >nul 2>nul

        作用: 清除该行命令的屏幕提示

        用法:
        可以加在需要清除提示的命令后面,比如:切换分区时: f:  >nul 2>nul  有些电脑没有f盘会            报错,提前防备    

综合案例::

        案例1: 清理垃圾文件

        新建一个文本文档改名为:清理系统文件.bat        

        下面的ping 一直给本地发送测试包,目的是卡时间, -n 10   (卡10s)

@echo off
title 清理垃圾文件
color 0a
echo ======================================
echo 是否清空你的垃圾文件?
echo ======================================
pause
echo.
echo "正在清理中,请稍后..."
d: >nul 2>nul
cd \ >nul 2>nul
cd 垃圾
rd . /s/q >nul 2>nul
ping -n 10 127.0.0.1 >nul 2>nul
echo  垃圾文件清理完成!!!
pause

        执行结果如下:        

        

         案例2: 快速生成空文件占满磁盘空间,如果是c盘文件命令执行完成就会非常卡

        D盘起始空间

         

         新建一个文本文档改名为:快速生成空文件.bat

@echo off
title 快速生成恶意文件
color 0a
d:
cd \
fsutil file createnew d:\sys.ini 4096000000
fsutil file createnew d:\sys1.ini 4096000000
fsutil file createnew d:\sys2.ini 4096000000
fsutil file createnew d:\sys3.ini 4096000000
fsutil file createnew d:\sys4.ini 4096000000
fsutil file createnew d:\sys5.ini 4096000000
pause

        还可以使用 attrib +h  +s 文件全名/文件夹名         # 把文件隐藏并提升为被系统保护的文件

        执行结果如下:         

        

        文件运行之后的磁盘空间

        

7.  start

        作用: 打开一个东西(链接、文件,.exe 程序之类的,不写就是默认打开cmd)

        用法:

       start  文件名                                           # 打开文件

       start  链接(www.baid.com之类的)    # 打开链接

       start                                                        # cmd

8.  : 和 goto

        作用:: 标记一块命令区间,可以和 goto 配合跳转到指定的区域继续执行命令

      案例: 

        @echo off

         :a           # 标记一块区域

         ...

        goto a     # 跳转到a的代码块

        pause

9.  userprofile

        作用:这是个变量里面存储“当前用户的家目录路径”

        使用:%userprofile%   这样就可以取出里面的值,%% 可以取出变量的值

综合案例:

注意:这个案例会让电脑进入死循环,请在虚拟机上运行,并提前设置好快照,以便回复电脑数据(仅作为学习用,出现任何后果本人不负责),如果没注意在真实电脑上运行了,可以尝试在任务管理器关闭,我没在真实机运行过,能否起效未知,再次提醒,不要在真实机上运行。

新建一个 .bat 文件,内容如下,双击运行或电脑开机时会自动运行

copy qq.bat "%userprofile%\「开始」菜单\程序\启动"
:d
start
goto d

        注意:「开始」菜单\程序\启动 是win xp系统的路径,如果是其他系统请自行寻找 

         

10.  set

        作用:定义变量

        使用:

       set    a=100                                                    # 定义一个变量a为100

       set   /p a=                                                        # 定义一个变量a,-p 等待用户输入

       set   /p a= 请输入                                             # 定义一个变量a,-p 等待用户输入 

综合案例:飞阁小程序V1.0 

@echo off
title 飞阁小程序V1.0
color 0a
:0
cls
echo ============================================
echo       菜单
echo    1.定时关机
echo    2.取消定时
echo    3.退出
echo    4.在启动文件夹下,生成张三的信息文件
echo    5.删除启动文件夹下的张三个人信息
echo ============================================

set /p num=您的选择:

if "%num%"=="1" goto 1
if "%num%"=="2" goto 2
if "%num%"=="3" goto 3
if "%num%"=="4" goto 4
if "%num%"=="5" goto 5

echo “%num%”不是有效的选项,请输入菜单选项
pause
goto 0

:1
set /p a=请输入时间(单位/s):
shutdown -s -f -t %a%
goto 0

:2
shutdown -a
goto 0

:3
exit

:4
echo @echo off >> "%userprofile%\「开始」菜单\程序\启动\张三.bat"
echo color 0a >> "%userprofile%\「开始」菜单\程序\启动\张三.bat"
echo echo 姓名:张三 >> "%userprofile%\「开始」菜单\程序\启动\张三.bat"
echo echo 年龄:18>> "%userprofile%\「开始」菜单\程序\启动\张三.bat"
echo echo 爱好:小黑子,开庭别哭!!! >> "%userprofile%\「开始」菜单\程序\启动\张三.bat"
echo pause >> "%userprofile%\「开始」菜单\程序\启动\张三.bat"
echo  文件生成成功!!!
pause 
goto 0

:5
del "%userprofile%\「开始」菜单\程序\启动\张三.bat"
echo  文件删除成功!!!
pause 
goto 0

        执行结果如下:

        

        执行命令4生成的文件 (注意:放到启动目录下的文件开机就会自动执行

        

         

11. ntsd -c q -pn 进程名称

        作用:强制杀死指定的进程针对 win2003、xp 比较好用,win7、10 不起作用

         案例:ntsd -c q -pn  winlogon.exe   (winlogon.exe 是win登录的进程,杀死这个进程会导致蓝屏,如果放到启动菜单内会导致开机就蓝屏)

12. taskkill /im 进程名称 /f

        作用:/im 指定杀死某个进程   /f   强制执行

        案例:这是一个恶搞的脚本, explorer.exe  是win的桌面进程,杀死这个进程桌面会消失,可以手动启动

@echo off
color 0a
taskkill /im explorer.exe /f >nul 2>nul

echo 傻了吧

ping -n 10 127.1.1.1 >nul 2>nul

start c:windows\explorer.exe
echo 吓唬你的,是不是尿裤子了!
pause

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
第1章 android,后起之秀  1.1 android简介  1.2 版本分裂  1.3 谷歌的角色  1.3.1 android开源项目  1.3.2 android market  1.3.3 挑战赛、设备播种计划和谷歌i/o  1.4 android的功能和体系结构  1.4.1 内核  1.4.2 运行库和dalvik虚拟机  1.4.3 系统库  1.4.4 应用程序框架  1.5 软件开发工具包  1.6 开发人员社区  1.7 设备,设备,设备  1.7.1 硬件  1.7.2 设备的范围  1.8 所有设备之间的兼容性  1.9 不同的手机游戏  1.9.1 人手一台游戏机  1.9.2 随时上网  1.9.3 普通用户与游戏迷  1.9.4 市场很大,开发人员很少  1.10 小结 第2章 从android sdk开始  2.1 搭建开发环境  2.1.1 安装jdk  2.1.2 安装android sdk  2.1.3 安装eclipse  2.1.4 安装adt eclipse插件  2.1.5 eclipse快速浏览  2.1.6 一些实用的eclipse快捷键  2.2 android环境下的hello world  2.2.1 创建项目  2.2.2 进一步分析项目  2.2.3 编写应用程序代码  2.3 运行和调试android应用程序  2.3.1 连接设备  2.3.2 创建一个android虚拟设备  2.3.3 运行应用程序  2.3.4 调试应用程序  2.3.5 logcat和ddms  2.3.6 使用adb  2.4 小结 第3章 游戏开发基础  3.1 游戏类型  3.1.1 休闲游戏  3.1.2 益智游戏  3.1.3 动作和街机游戏  3.1.4 塔防游戏  3.1.5 创新  3.2 游戏设计:笔比代码更强大  3.2.1 游戏的核心机制  3.2.2 一个故事和一种艺术风格  3.2.3 画面和切换  3.3 代码:具体细节  3.3.1 应用程序和窗口管理  3.3.2 输入  3.3.3 文件i/o  3.3.4 音频  3.3.5 图形  3.3.6 游戏框架  3.4 小结 第4章 面向游戏开发人员的android  4.1 定义一个android应用程序:清单文件  4.1.1 [manifest]元素  4.1.2 [application]元素  4.1.3 [activity]元素  4.1.4 [uses-permission]元素  4.1.5 [uses-feature]元素  4.1.6 [uses-sdk]元素  4.1.7 10个简单步骤建立android游戏项目  4.1.8 市场过滤器  4.1.9 定义游戏图标  4.2 android api基础  4.2.1 创建测试项目  4.2.2 活动的生命周期  4.2.3 处理输入设备  4.2.4 文件处理  4.2.5 音频编程  4.2.6 播放音效  4.2.7 音乐流  4.2.8 基本图形编程  4.3 最佳实践  4.4 小结 第5章 android游戏开发框架  5.1 制定计划  5.2 androidfileio类  5.3 androidaudio、androidsound和androidmusic  5.4 androidinput和accelerometer-handler  5.4.1 accelerometerhandler:手机哪一面朝上  5.4.2 compasshandler  5.4.3 pool类:重用相当有用  5.4.4 keyboardhandler  5.4.5 触摸处理程序  5.4.6 androidinput:优秀的协调者  5.5 androidgraphics和androidpixmap  5.5.1 处理不同屏幕大小和分辨率的问题  5.5.2 androidpixmap:人物的像素  5.5.3 androidgraphics:满足绘图需求  5.5.4 androidfastrenderview  5.6 androidgame:合并所有内容  5.7 小结 第6章 mr. nom入侵android  6.1 创建资源  6.2 建立项目  6.3 mrnomgame:主要活动  6.3.1 资源:便捷的资源存储  6.3.2 设置:跟踪用户的选项设置和高分榜  6.3.3 loadingscreen:从磁盘获取资源  6.4 主菜单画面  6.5 helpscreen类  6.6 高分榜画面显示  6.6.1 渲染数字  6.6.2 画面的实现  6.7 抽象  6.7.1 抽象mr. nom的世界:模型、视图、控制器  6.7.2 gamescreen类  6.8 小结 第7章 opengl es介绍  7.1 opengl es概述以及关注它的原因  7.1.1 编程模型:一个比喻  7.1.2 投影  7.1.3 规范化设备空间和视口  7.1.4 矩阵  7.1.5 渲染管道  7.2 开始之前  7.3 glsurfaceview:从2008年开始,事情变得简单了  7.4 glgame:实现游戏接口  7.5 绘制一个红色的三角形  7.5.1 定义视口  7.5.2 定义投影矩阵  7.5.3 指定三角形  7.5.4 综合示例  7.6 指定每个顶点的颜色  7.7 纹理映射:轻松地创建壁纸  7.7.1 纹理坐标  7.7.2 上传位图  7.7.3 纹理过滤  7.7.4 释放纹理  7.7.5 有用的代码片段  7.7.6 启用纹理  7.7.7 综合示例  7.7.8 texture类  7.8 索引顶点:重用是有好处的  7.8.1 代码整合  7.8.2 vertices类  7.9 半透明混合处理  7.10 更多图元:点、线、条和扇  7.11 2d变换:操作模型视图矩阵  7.11.1 世界空间和模型空间  7.11.2 再次讨论矩阵  7.11.3 第一个使用平移的示例  7.11.4 更多的变换  7.12 性能优化  7.12.1 测量帧率  7.12.2 android 1.5平台下hero的奇特案例  7.12.3 使opengl es渲染如此慢的原因  7.12.4 移除不必要的状态改变  7.12.5 减小纹理大小意味着需要获取更少的像素  7.12.6 减少opengl es/jni方法的调用  7.12.7 绑定顶点的概念  7.12.8 写在结束之前  7.13 小结 第8章 2d游戏编程技巧  8.1 写在开始  8.2 向量  8.2.1 使用向量  8.2.2 一点三角学的知识  8.2.3 实现一个向量类  8.2.4 一个简单的用法示例  8.3 2d物理定律浅析  8.3.1 牛顿和欧拉,永远的好朋友  8.3.2 力和质量  8.3.3 理论上的运动  8.3.4 运动的实现  8.4 2d碰撞检测和对象表示  8.4.1 边界形状  8.4.2 构造边界形状  8.4.3 游戏对象的属性  8.4.4 宽阶段和窄阶段碰撞检测  8.4.5 一个详细的示例  8.5 2d照相机  8.5.1 camera2d类  8.5.2 示例  8.6 纹理图集  8.7 纹理区域、精灵和批处理:隐藏opengl es  8.7.1 textureregion类  8.7.2 spritebatcher类  8.8 精灵动画  8.8.1 animation类  8.8.2 示例  8.9 小结 第9章 super jumper:一个2dopengl es游戏  9.1 核心游戏机制  9.2 背景故事和艺术风格  9.3 画面和切换  9.4 定义游戏世界  9.5 创建资源  9.5.1 ui元素  9.5.2 使用点阵字体处理文本  9.5.3 游戏元素  9.5.4 用于救援的纹理图集  9.5.5 音乐与音效  9.6 实现super jumper  9.6.1 assets类  9.6.2 settings类  9.6.3 主活动  9.6.4 font类  9.6.5 glscreen  9.6.6 主菜单画面  9.6.7 帮助画面  9.6.8 高分画面  9.6.9 模拟类  9.6.10 游戏画面  9.6.11 worldrenderer类  9.7 是否需要优化  9.8 小结 第10章 opengl es:进入3d世界  10.1 准备工作  10.2 3d中的顶点  10.2.1 vertices3:存储3d空间位置  10.2.2 示例  10.3 透视投影:越近则越大  10.4 z-buffer:化混乱为有序  10.4.1 完善上一个例子  10.4.2 混合:身后空无一物  10.4.3 z-buffer精度与z-fighting  10.5 定义3d网格  10.5.1 立方体:3d中的“helloworld”  10.5.2 一个示例  10.6 矩阵和变换  10.6.1 矩阵堆栈  10.6.2 用矩阵堆栈实现分层系统  10.6.3 木箱太阳系的简单实例  10.7 小结 第11章 3d编程技巧  11.1 准备工作  11.2 3d中的向量  11.3 opengl es中的光照  11.3.1 光照的工作机制  11.3.2 光源  11.3.3 材质  11.3.4 opengl es中如何对光照过程进行运算:顶点法线  11.3.5 实践  11.3.6 关于opengl es中光照应用的一些建议  11.4 材质变换(mipmapping)  11.5 简单的照相机  11.5.1 第一人称照相机或欧拉照相机  11.5.2 一个欧拉照相机的示例  11.5.3 跟随照相机  11.6 加载模块  11.6.1 wavefront obj格式  11.6.2 obj加载器的实现  11.6.3 使用obj加载器  11.6.4 关于加载模型的一些建议  11.7 3d中的一些物理知识  11.8 碰撞检测与3d中的对象表达法  11.8.1 3d中的边界形状  11.8.2 边界球重叠测试  11.8.3 gameobject3d与dynamic-gameobject3d  11.9 小结 第12章 droid invaders游戏  12.1 游戏的核心机制  12.2 游戏的故事背景与艺术风格  12.3 屏幕与场景切换  12.4 定义游戏世界  12.5 创建资源  12.5.1 用户界面的资源  12.5.2 游戏资源  12.5.3 音效与音乐  12.6 开始编写代码  12.7 assets类  12.8 settings类  12.9 主活动  12.10 主菜单  12.11 游戏设置画面  12.12 模拟类  12.12.1 shield类  12.12.2 shot类  12.12.3 ship类  12.12.4 invader类  12.12.5 world类  12.13 gamescreen类  12.14 worldrender类  12.15 游戏优化  12.16 小结 第13章 发布游戏  13.1 关于测试  13.2 成为注册开发人员  13.3 给游戏的apk包签名  13.4 将游戏发布至market  13.4.1 上传资源  13.4.2 产品详情  13.4.3 发布选项  13.4.4 发布  13.4.5 市场推广  13.5 开发人员控制台  13.6 小结 第14章 进阶内容  14.1 社交网络  14.2 位置识别  14.3 多玩家功能  14.4 opengl es 2.0以及更多内容  14.5 框架及引擎  14.6 网络资源  14.7 结束语
第1章 RDBMS基础:SQLServer数据库的构成 1.1 数据库对象概述 1.1.1 数据库对象 1.1.2 事务日志 1.1.3 最基本的数据库对象:表 1.1.4 文件组 1.1.5 数据库关系图 1.1.6 视图 1.1.7 存储过程 1.1.8 用户自定义函数 1.1.9 用户和角色 1.1.10 规则 1.1.11 默认值 1.1.12 用户自定义数据类型 1.1.13 全文目录 1.2 SQL Server数据类型 1.3 SQL Server对象标识符 1.3.1 需要命名的对象 1.3.2 命名规则 1.4 本章小结 第2章 SQL Server管理工具 2.1 联机丛书 2.2 SQLServer配置管理器 2.2.1 服务管理 2.2.2 网络配置 2.2.3 协议 2.2.4 客户端 2.3 SQLServer Management Studio 2.3.1 启动Management Studio 2.3.2 “查询”窗口 2.4 SQL Server集成服务(SSIS) 2.5 BulkCopy Program(bcp) 2.6 SQL ServerProfiler 2.7 sqlcmd 2.8 Power Shell 2.9 本章小结 第3章 T-SQL基本语句 3.1 基本SELECT语句 3.1.1 SELECT语句与FROM子句 3.1.2 WHERE子句 3.1.3 ORDERBY子句 3.1.4 使用GROUPBY子句聚合数据 3.1.5 使用HAVING子句给分组设置条件 3.1.6 使用FORXML子句输出XML 3.1.7 通过OPTION子句利用提示 3.1.8 DISTINCT和ALL谓词 3.2 使用INSERT语句添加数据 3.2.1 多行插入 3.2.2 INSERTINTOSELECT语句 3.3 用UPDATE语句更改数据 3.4 DELETE语句 3.5 本章小结 3.6 练习 第4章 连接 4.1 连接 4.2 内部连接 4.3 外部连接 4.3.1 简单的外部连接 4.3.2 处理更复杂的外部连接 4.4 完全连接 4.5 交叉连接 4.6 JOIN语句的早期语法结构 4.6.1 内部连接的早期语法结构 4.6.2 外部连接的早期语法结构 4.6.3 交叉连接的早期语法结构 4.7 联合 4.8 本章小结 4.9 练习 第5章 创建和修改数据表 5.1 SQLserver中的对象名 5.1.1 模式名 5.1.2 数据库名 5.1.3 通过服务器命名 5.1.4 回顾默认值 5.2 CReATE语句 5.2.1 CREATEDATAASE 5.2.2 CREATETABLE 5.3 ALTER语句 5.3.1 AITERDATABASE 5.3.2 ALTERTABLE 5.4 DROP语句 5.5 使用GUI工具 5.5.1 使用ManagementStudio创建数据库 5.5.2 回到代码:使用MariagementStudio创建脚本的基础知识 5.6 本章小结 5.7 练习 第6章 约束 6.1 约束的类型 6.1.1 域约束 6.1.2 实体约束 6.1.3 参照完整性约束 6.2 约束命名 6.3 键约束 6.3.1 主键约束 6.3.2 外键约束 6.3.3 唯一约束 6.4 CHECK约束 6.5 DEFAuLT约束 6.5.1 在cREATETABLE语句中定义DEFAULT约束 6.5.2 在已存在的表中添加DEFAUIT约束 6.6 禁用约束 6.6.1 在创建约束时忽略无效的数据 6.6.2 临时禁用已存在的约束 6.7 规则和默认值 6.7.1 规则 6.7.2 默认值 6.7.3 确定哪个表和数据类型使用给定的规则或默认值 6.8 用于实现数据完整性的触发器 6.9 如何选择 6.1 0本章小结 第7章 更复杂的查询 7.1 子查询的概念 7.2 关联子查询 7.2.1 关联子查询的工作原理 7.2.2 在WHERE子句中的关联子查询 7.2.3 处理NULL数据——ISNULL函数 7.3 派生表 7.4 EXISTS运算符 7.5 混合数据类型:CAST和CONVERT 7.6 MERGE命令 7.6.1 BYl.ARGET和BYSOURCE 7.6.2 OUTPUT子句 7.7 性能方面的考虑 7.8 本章小结 7.9 练习 第8章 规范化和其他基本设计问题 8.1 表 8.2 保持数据“规范 8.2.1 准备工作 8.2.2 第一范式 8.2.3 第二范式 8.2.4 第三范式 8.2.5 其他范式 8.3 关系 8.3.1 一对一关系 8.3.2 一对一或一对多关系 8.3.3 多对多关系 8.4 数据库关系图 8.4.1 表 8.4.2 添加和删除表 8.4.3 关系 8.5 反规范化 8.6 超出规范化的一些规则 8.6.1 保持简单 8.6.2 选择数据类型 8.6.3 尽量进行存储 8.7 创建一个快速示例 8.7.1 创建数据库 8.7.2 添加数据库关系图和初始表 8.7.3 添加关系 8.7.4 添加一些约束 8.8 本章小结 8.9 练习 第9章 SQLServer存储和索引结构 9.1 SQLServer存储机制 9.1.1 数据库 9.1.2 区段 9.1.3 页 9.1.4 行 9.1.5 稀疏列 9.2 理解索引 9.2.1 平衡树(B.树) 9.2.2 SQLServer中访问数据的方式 9.3 创建、修改和删除索引 9.3.1 CREATEINDEX语句 9.3.2 创建XML索引 9.3.3 随约束创建的隐含索引 9.3.4 在稀疏列和地理空间列上创建索引 9.4 明智地选择——在何时何地使用何种索引 9.4.1 选择性 9.4.2 注意成本 9.4.3 选择群集索引 9.4.4 列顺序问题 9.4.5 修改索引 9.4.6 删除索引 9.4.7 从查询计划中获取提示 9.4.8 使用数据库引擎调整向导 9.5 维护索引 9.5.1 碎片 9.5.2 确定碎片和页拆分的可能性 9.6 本章小结 9.7 练习 第10章 视图 10.1 简单的视图 10.2 更加复杂的视图 10.3 使用T-SOL编辑视图 10.4 删除视图 10.5 在MaliagementStudio中创建和编辑视图 10.6 审查:显示现有的代码 10.7 保护代码:加密视图 10.8 关于模式绑定 10.9 使用VIEWMETADATA使视图看起来像表一样 10.10 索引(物化)视图 10.11 本章小结 10.12 练习 第11章 编写脚本和批处理 11.1 脚本的基础知识 11.1.1 USE语句 11.1.2 声明变量 11.1.3 使用@@IDENTITY 11.1.4 使用@@ROWCOUNT 11.2 批处理 11.2.1 批处理中的错误 11.2.2 何时使用批处理 11.3 sqlcmd 11.4 动态SQL:用ExEC命令动态生成代码 11.5 控制流语句 11.5.1 IFELSE语句 11.5.2 CASE语句 11.5.3 用WHILE语句进行循环 11.5.4 WAITOR语句 11.5.5 TRY/CATCH块 11.6 本章小结 11.7 练习 第12章 存储过程 12.1 创建存储过程:基本语法 12.2 使用ALTER修改存储过程 12.3 删除存储过程 12.4 参数化 12.5 通过返回值确认成功或失败 12.6 错误处理 12.6.1 以前的方式 12.6.2 在错误发生前处理错误 12.6.3 手动引发错误 12.6.4 添加自定义的错误消息 12.7 存储过程的优点 12.7.1 创建可调用的进程 12.7.2 为了安伞性使用存储过程 12.7.3 存储过程和性能 12.8 扩展存储过程(XP) 12.9 递归简介 12.10 调试 12.10.1 启动调试器 12.10.2 调试器的组成 12.10.3 使用调试器 12.11 .NET程序集 12.12 本章小结 第13章 用户自定义函数 13.1 UDF的定义 13.2 返回标量值的uDF 13.3 返回表的UDF 13.4 调试用户自定义函数 13.5 数据库中的.NET 13.6 本章小结 13.7 练习 第14章 事务和锁 14.1 事务 14.1.1 BEGINTRAN 14.1.2 COMMITTRAN 14.1.3 ROLLBACKTRAN 14.1.4 SAVETRAN 14.2 SQLServer日志的工作方式 14.2.1 失败和恢复 14.2.2 隐式事务 14.3 锁和并发 14.3.1 通过锁可以防止的问题 14.3.2 可以锁定的资源 14.3.3 锁升级和锁对性能的影响 14.3.4 锁定模式 14.3.5 锁的兼容性 14.3.6 指定一种特有的锁定类型——优化器提示 14.4 设置隔离级别 14.5 处理死锁(1205错误) …… 第15章 触发器 第16章 初识XML 第17章 Reporting Services 第18章 使用Integration Services进行集成 第19章 扮演管理员的角色 附录
内容简介 《SQL Server 2008编程入门经典(第3版)》由浅入深逐步介绍了SQL Server数据库的高级主题,重点讨论了SQL Server 2008的特殊功能以及与其他编程环境的不同之处。作者Robert Vieria是Microsoft SQL,Server方面的权威,他采用通俗易懂的方法揭示了SQL Server-2008核心组件的重要更改。 《SQL Server 2008编程入门经典(第3版)》首先概述了数据库设计的概念,介绍了如何用SQL Setver 2008实现这些基本概念。然后,讲述了RDBMS(关系数据库管理系统)的功能和它在开发系统架构方面的优势。SQL Server 2008的新增内容和更改包括:DATE和TIME数据类型、hierarchyID数据类型、MERGE命令和多行插入,以及递归查询等。《SQL Server 2008编程入门经典(第3版)》旨在帮助您快速地掌握Microsoft SQL Selwer2008的编程技术。 编辑推荐 《SQL Server 2008编程入门经典(第3版)》主要内容 RDBMS如何存储、管理和检索数据 创建和修改表的方法 数据库范式的多种形式 编写脚本和使用存储过程的技巧 索引的优缺点 锁和死锁对系统性能的各种影响 理解触发器及其使用方式 《SQL Server 2008编程入门经典(第3版)》读者对象 《SQL Server 2008编程入门经典(第3版)》适合于希望全面了解数据库设计概念和学习SQL的开发人员。读者具有数据库方面的基础知识有助于更好地理解《SQL Server 2008编程入门经典(第3版)》的内容。 作者简介 作者:(美国)韦拉(Rovert Vieria) 译者:孙皓 马煜 合著者:杨大川 韦拉(Robert Vieria),是畅销书作者。他从1 980年开始深入学习计算技术,从构建和修复计算机软件包,到通过Z80、Basic以及6502汇编语言进行编程。1 983年,Robert开始攻读计算机信息系统的学位,随后转而研究“PC故障”并开始使用数据库语言(从dBase到SQL Server)进行编程,于1990年获得商业管理学位。此外,他还获得了CMA、MCSD、MCT以及MCDBA等认证。Robert目前是俄勒冈州波兰特市的Huron Consuiting Group的Stockarnp事务所的DBA团队领导人,偶尔也会在数据库开发、商业智能和其他主题方面发表演讲。 其他责任者简介: 杨大川,毕业于美国纽约州立大学布法罗分校计算机系,曾担任美国硅谷Annuncio Software等公司的首席工程师,归国后,他于2003年创办了北京迈思奇科技有限公司并担任技术总监,为国内外多家大中型企业提供商业智能咨询和项目实施服务,并逐渐从高新技术外包开发走向了自主知识产权产品的研发道路。他曾被誉为微软全球最有价值专家(MVP);2008年荣获“中关村年度优秀创业留学人员”称号:现担任中国科学院软件学院的兼职教授。 目录 第1章 RDBMS基础:SQLServer数据库的构成 1.1 数据库对象概述 1.1.1 数据库对象 1.1.2 事务日志 1.1.3 最基本的数据库对象:表 1.1.4 文件组 1.1.5 数据库关系图 1.1.6 视图 1.1.7 存储过程 1.1.8 用户自定义函数 1.1.9 用户和角色 1.1.10 规则 1.1.11 默认值 1.1.12 用户自定义数据类型 1.1.13 全文目录 1.2 SQL Server数据类型 1.3 SQL Server对象标识符 1.3.1 需要命名的对象 1.3.2 命名规则 1.4 本章小结 第2章 SQL Server管理工具 2.1 联机丛书 2.2 SQLServer配置管理器 2.2.1 服务管理 2.2.2 网络配置 2.2.3 协议 2.2.4 客户端 2.3 SQLServer Management Studio 2.3.1 启动Management Studio 2.3.2 “查询”窗口 2.4 SQL Server集成服务(SSIS) 2.5 BulkCopy Program(bcp) 2.6 SQL ServerProfiler 2.7 sqlcmd 2.8 Power Shell 2.9 本章小结 第3章 T-SQL基本语句 3.1 基本SELECT语句 3.1.1 SELECT语句与FROM子句 3.1.2 WHERE子句 3.1.3 ORDERBY子句 3.1.4 使用GROUPBY子句聚合数据 3.1.5 使用HAVING子句给分组设置条件 3.1.6 使用FORXML子句输出XML 3.1.7 通过OPTION子句利用提示 3.1.8 DISTINCT和ALL谓词 3.2 使用INSERT语句添加数据 3.2.1 多行插入 3.2.2 INSERTINTOSELECT语句 3.3 用UPDATE语句更改数据 3.4 DELETE语句 3.5 本章小结 3.6 练习 第4章 连接 4.1 连接 4.2 内部连接 4.3 外部连接 4.3.1 简单的外部连接 4.3.2 处理更复杂的外部连接 4.4 完全连接 4.5 交叉连接 4.6 JOIN语句的早期语法结构 4.6.1 内部连接的早期语法结构 4.6.2 外部连接的早期语法结构 4.6.3 交叉连接的早期语法结构 4.7 联合 4.8 本章小结 4.9 练习 第5章 创建和修改数据表 5.1 SQLserver中的对象名 5.1.1 模式名 5.1.2 数据库名 5.1.3 通过服务器命名 5.1.4 回顾默认值 5.2 CReATE语句 5.2.1 CREATEDATAASE 5.2.2 CREATETABLE 5.3 ALTER语句 5.3.1 AITERDATABASE 5.3.2 ALTERTABLE 5.4 DROP语句 5.5 使用GUI工具 5.5.1 使用ManagementStudio创建数据库 5.5.2 回到代码:使用MariagementStudio创建脚本的基础知识 5.6 本章小结 5.7 练习 第6章 约束 6.1 约束的类型 6.1.1 域约束 6.1.2 实体约束 6.1.3 参照完整性约束 6.2 约束命名 6.3 键约束 6.3.1 主键约束 6.3.2 外键约束 6.3.3 唯一约束 6.4 CHECK约束 6.5 DEFAuLT约束 6.5.1 在cREATETABLE语句中定义DEFAULT约束 6.5.2 在已存在的表中添加DEFAUIT约束 6.6 禁用约束 6.6.1 在创建约束时忽略无效的数据 6.6.2 临时禁用已存在的约束 6.7 规则和默认值 6.7.1 规则 6.7.2 默认值 6.7.3 确定哪个表和数据类型使用给定的规则或默认值 6.8 用于实现数据完整性的触发器 6.9 如何选择 6.1 0本章小结 第7章 更复杂的查询 7.1 子查询的概念 7.2 关联子查询 7.2.1 关联子查询的工作原理 7.2.2 在WHERE子句中的关联子查询 7.2.3 处理NULL数据——ISNULL函数 7.3 派生表 7.4 EXISTS运算符 7.5 混合数据类型:CAST和CONVERT 7.6 MERGE命令 7.6.1 BYl.ARGET和BYSOURCE 7.6.2 OUTPUT子句 7.7 性能方面的考虑 7.8 本章小结 7.9 练习 第8章 规范化和其他基本设计问题 8.1 表 8.2 保持数据“规范 8.2.1 准备工作 8.2.2 第一范式 8.2.3 第二范式 8.2.4 第三范式 8.2.5 其他范式 8.3 关系 8.3.1 一对一关系 8.3.2 一对一或一对多关系 8.3.3 多对多关系 8.4 数据库关系图 8.4.1 表 8.4.2 添加和删除表 8.4.3 关系 8.5 反规范化 8.6 超出规范化的一些规则 8.6.1 保持简单 8.6.2 选择数据类型 8.6.3 尽量进行存储 8.7 创建一个快速示例 8.7.1 创建数据库 8.7.2 添加数据库关系图和初始表 8.7.3 添加关系 8.7.4 添加一些约束 8.8 本章小结 8.9 练习 第9章 SQLServer存储和索引结构 9.1 SQLServer存储机制 9.1.1 数据库 9.1.2 区段 9.1.3 页 9.1.4 行 9.1.5 稀疏列 9.2 理解索引 9.2.1 平衡树(B.树) 9.2.2 SQLServer中访问数据的方式 9.3 创建、修改和删除索引 9.3.1 CREATEINDEX语句 9.3.2 创建XML索引 9.3.3 随约束创建的隐含索引 9.3.4 在稀疏列和地理空间列上创建索引 9.4 明智地选择——在何时何地使用何种索引 9.4.1 选择性 9.4.2 注意成本 9.4.3 选择群集索引 9.4.4 列顺序问题 9.4.5 修改索引 9.4.6 删除索引 9.4.7 从查询计划中获取提示 9.4.8 使用数据库引擎调整向导 9.5 维护索引 9.5.1 碎片 9.5.2 确定碎片和页拆分的可能性 9.6 本章小结 9.7 练习 第10章 视图 10.1 简单的视图 10.2 更加复杂的视图 10.3 使用T-SOL编辑视图 10.4 删除视图 10.5 在MaliagementStudio中创建和编辑视图 10.6 审查:显示现有的代码 10.7 保护代码:加密视图 10.8 关于模式绑定 10.9 使用VIEWMETADATA使视图看起来像表一样 10.10 索引(物化)视图 10.11 本章小结 10.12 练习 第11章 编写脚本和批处理 11.1 脚本的基础知识 11.1.1 USE语句 11.1.2 声明变量 11.1.3 使用@@IDENTITY 11.1.4 使用@@ROWCOUNT 11.2 批处理 11.2.1 批处理中的错误 11.2.2 何时使用批处理 11.3 sqlcmd 11.4 动态SQL:用ExEC命令动态生成代码 11.5 控制流语句 11.5.1 IFELSE语句 11.5.2 CASE语句 11.5.3 用WHILE语句进行循环 11.5.4 WAITOR语句 11.5.5 TRY/CATCH块 11.6 本章小结 11.7 练习 第12章 存储过程 12.1 创建存储过程:基本语法 12.2 使用ALTER修改存储过程 12.3 删除存储过程 12.4 参数化 12.5 通过返回值确认成功或失败 12.6 错误处理 12.6.1 以前的方式 12.6.2 在错误发生前处理错误 12.6.3 手动引发错误 12.6.4 添加自定义的错误消息 12.7 存储过程的优点 12.7.1 创建可调用的进程 12.7.2 为了安伞性使用存储过程 12.7.3 存储过程和性能 12.8 扩展存储过程(XP) 12.9 递归简介 12.10 调试 12.10.1 启动调试器 12.10.2 调试器的组成 12.10.3 使用调试器 12.11 .NET程序集 12.12 本章小结 第13章 用户自定义函数 13.1 UDF的定义 13.2 返回标量值的uDF 13.3 返回表的UDF 13.4 调试用户自定义函数 13.5 数据库中的.NET 13.6 本章小结 13.7 练习 第14章 事务和锁 14.1 事务 14.1.1 BEGINTRAN 14.1.2 COMMITTRAN 14.1.3 ROLLBACKTRAN 14.1.4 SAVETRAN 14.2 SQLServer日志的工作方式 14.2.1 失败和恢复 14.2.2 隐式事务 14.3 锁和并发 14.3.1 通过锁可以防止的问题 14.3.2 可以锁定的资源 14.3.3 锁升级和锁对性能的影响 14.3.4 锁定模式 14.3.5 锁的兼容性 14.3.6 指定一种特有的锁定类型——优化器提示 14.4 设置隔离级别 14.5 处理死锁(1205错误) …… 第15章 触发器 第16章 初识XML 第17章 Reporting Services 第18章 使用Integration Services进行集成 第19章 扮演管理员的角色 附录

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狗蛋的博客之旅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值