SQL Server程序员经常要在SSMS(SQL Server Management Studio)或查询分析器(2000以前)中编写T-SQL代码。以下几个技巧,可以提升工作效率。

以下说明以SS2005为例,SS2008也适用;SS2000的话可能部分适用吧。

1. 快捷键

现在只要不是电脑新手,都知道Ctrl+C/Ctrl+V,没什么人会用菜单去进行复制/粘贴。而对于靠电脑吃饭的程序员来说,只知道这两个快捷键是不够的。

善用快捷键,可以节省用鼠标去找图标或菜单的时间。更炉火纯青的状态是全键盘操作,连把手移动到鼠标的时间都省了(UNIX程序员都是这么干的)。

在SSMS选择菜单:工具->自定义,勾选“在屏幕提示中显示快捷键”,这样,当把鼠标悬停在执行图标上方时,会显示提示F5。快捷键不需要死记,鼠标点的时候看一下,下次就可以用快捷键了,用多了就熟了。
---------

快捷键:

书签:清除所有书签。 CTRL-SHIFT-F2

书签:插入或删除书签(切换)。 CTRL+F2

书签:移动到下一个书签。 F2 功能键

书签:移动到上一个书签。 SHIFT+F2

取消查询。 ALT+BREAK

连接:连接。 CTRL+O

连接:断开连接。 CTRL+F4

连接:断开连接并关闭子窗口。 CTRL+F4

数据库对象信息。 ALT+F1

编辑:清除活动的编辑器窗格。 CTRL+SHIFT+DEL

编辑:注释代码。 CTRL+SHIFT+C

编辑:复制。还可以使用 CTRL+INSERT。 CTRL+C

编辑:剪切。还可以使用 SHIFT+DEL。 CTRL+X

编辑:减小缩进。 SHIFT+TAB

编辑:在编辑器窗格中删除至行尾。 CTRL+DEL

编辑:查找。 CTRL+F

编辑:转到行号。 CTRL+G

编辑:增大缩进。 TAB

编辑:使选定内容为小写。 CTRL+SHIFT+L

编辑:使选定内容为大写。 CTRL+SHIFT+U

编辑:粘贴。还可以使用 SHIFT+INSERT。 CTRL+V

编辑:删除注释。 CTRL+SHIFT+R

编辑:重复上次搜索或查找下一个。 F3 功能键

编辑:替换。 CTRL+H

编辑:全选。 CTRL+A

编辑:撤消。 CTRL+Z 
 
执行查询。还可以使用 CTRL+E (针对向后兼容性)。 F5 功能键

SQL 查询分析器帮助。 F1 功能键

对所选 Transact-SQL 语句的帮助。 SHIFT+F1

浏览:在查询窗格和结果窗格之间切换。 F6 功能键

浏览:切换窗格。 Shift+F6

浏览:窗口选择器。 CTRL+W

"新建查询"窗口。 CTRL+N

对象浏览器(显示/隐藏)。 F8 功能键

对象搜索。 F4 功能键

分析查询并检查语法。 CTRL+F5

打印。 CTRL+P

结果:以表格格式显示结果。 CTRL+D

结果:以文本格式显示结果。 CTRL+T

结果:移动拆分器。 CTRL+B

结果:将结果保存为文件。 CTRL+SHIFT+F

结果:显示结果窗格(切换)。 CTRL+R

保存。 CTRL+S

模板:插入模板。 CTRL+SHIFT+INSERT

模板:替换模板参数。 CTRL+SHIFT+M

优化:显示预估执行计划。 CTRL+L

优化:显示执行计划(切换开/关)。 CTRL+K

优化:索引优化向导。 CTRL+I

优化:显示客户统计 CTRL+SHIFT+S

优化:显示服务器跟踪。 CTRL+SHIFT+T

使用数据库。 CTRL+U

----------------

2. 自定义快捷键

SQL Server Management Studio支持自定义快捷键:工具->选项->键盘
其中,Alt+F1、Ctrl+1、Ctrl+2是系统预定义的快捷键。
双击表名(或按Ctrl单击表名),选定一个表名,如tablename,按Alt+F1,相当于执行“sp_help tablename”,可以查看对象的说明信息。

以下是我添加的一些自定义快捷键:

[code=sql]

--Ctrl+F1:显示表或视图的前100行,选定“tablename,1000”按Ctrl+F1可显示表的前1000行。

sp_executesql N'IF OBJECT_ID(@tablename) IS NOT NULL EXEC(N''SELECT TOP(''+@n+N'') * FROM ''+@tablename)',N'@tablename nvarchar(100),@n int=100',

--Ctrl+3:显示视图、存储过程、函数、触发器的定义脚本。

sp_helptext

--Ctrl+4:显示表的行数和占用空间。

sp_spaceused

--Ctrl+5:显示表中每个索引占用的空间。

sp_executesql N'SELECT index_name = ind.name, ddps.used_page_count, ddps.reserved_page_count, ddps.row_count FROM sys.indexes ind INNER JOIN sys.dm_db_partition_stats ddps ON ind.object_id = ddps.object_id AND ind.index_id = ddps.index_id WHERE ind.object_id = OBJECT_ID(@tablename)',N'@tablename nvarchar(100)'

--Ctrl+9:显示表或视图的字段名,以逗号分隔。

sp_executesql N'SELECT columns = STUFF((SELECT '', ''+name FROM sys.columns WHERE object_id = OBJECT_ID(@tablename) FOR XML PATH('''')),1,2,'''')',N'@tablename nvarchar(100)'

--Ctrl+0:根据选定关键词在当前数据库中查找表、视图、存储过程、函数

sp_executesql N'SELECT * FROM sys.objects WHERE type IN (''U'',''V'',''P'',''FN'') AND name LIKE ''%''+@keyword+''%'' ORDER BY type,name',N'@keyword nvarchar(50)'

SQL Server 查询分析器提供的所有快捷方式(快捷键)的更多相关文章

  1. SQL Server 查询分析器提供的所有键盘快捷方式(转)

    下表列出 SQL Server 查询分析器提供的所有键盘快捷方式. 活动 快捷方式 书签:清除所有书签. CTRL-SHIFT-F2 书签:插入或删除书签(切换). CTRL+F2 书签:移动到下一个 ...

  2. SQL Server 查询分析器键盘快捷方式

    下表列出 SQL Server 查询分析器提供的所有键盘快捷方式. 活动 快捷方式 书签:清除所有书签. CTRL-SHIFT-F2 书签:插入或删除书签(切换). CTRL+F2 书签:移动到下一个 ...

  3. sql server 查询分析器消息栏里去掉“(5 行受影响)”

    sql server 查询分析器消息栏里去掉"(5 行受影响)"     在你代码的开始部分加上这个命令: set nocount on   记住在代码结尾的地方再加上: set ...

  4. SQL Server 查询分析器的执行计划中的扫描方式,举例理解

    student表,id,name,address id上建立聚集索引,Name建索引,address无索引.1. [Table Scan]:遍历整个表,查找所有匹配的记录行.这个操作将会一行一行的检查 ...

  5. 在Sql Server 查询分析器里使用事务

    declare @updatecount int begin TRAN DECLARE @tbid INTSELECT @tbid=iMax FROM tbID WHERE strName='ipcc ...

  6. sql server 查询分析器中表名无效,有红线,其实是这张表的

    ctrl+shift+R 就OK了,就是刷新本地缓存.

  7. [转] 利用SET STATISTICS IO和SET STATISTICS TIME 优化SQL Server查询性能

    首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET ...

  8. SQL SERVER 查询性能优化——分析事务与锁(五)

    SQL SERVER 查询性能优化——分析事务与锁(一) SQL SERVER 查询性能优化——分析事务与锁(二) SQL SERVER 查询性能优化——分析事务与锁(三) 上接SQL SERVER ...

  9. 利用SET STATISTICS IO和SET STATISTICS TIME 优化SQL Server查询性能

    首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET ...

随机推荐

  1. Entity Framework中的Identity map和Unit of Work模式(转)

    一,什么是Identity map模式 Identity map是EF获取和缓存数据的模式.Identity map模式指的是任何数据都只会被加载一次,以map的形式缓存,以唯一的identity来再 ...

  2. 《python基础教程(第二版)》学习笔记 语句/循环/条件(第5章)

    <python基础教程(第二版)>学习笔记 语句/循环/条件(第5章) print 'AB', 123 ==> AB 123 # 插入了一个空格print 'AB', 'CD' == ...

  3. FastReport5的安装

    1.运行recompile.exe,选择相应的delphi版本,选择recompile to chinese,编译: 2.选择recompile all pakages,编译: 3.将lib目录下的d ...

  4. 常用的SQL 总结

    1.去重 SELECT * FROM my where id in(SELECT MAX(id) from my GROUP BY id,iid,pid)//取 id,iid,pid重复的最大值

  5. freeMarker(一)——freeMarker简介

    学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net FreeMarker简介: FreeMarker 是一款 模板引擎: ...

  6. noipd2t3列队

    吉老师的题还真是难呢... 正解至今不会,只会平衡树的做法 这种用平衡树上一个点表示一段区间的题还真要做做...想起来挺难受的 建n棵平衡树表示每行的m-1个元素 再建一棵平衡树维护最后一列 中间要支 ...

  7. rman命令详解(三)

    1. Report 命令用户判断数据库的当前可恢复状态和提供数据库备份的特定信息1.1 指定最近没有备份的数据文件查询3天内没有备份过的表空间,可以用如下命令:RMAN> report need ...

  8. 洛谷 P4220 & UOJ #347 通道 —— 随机化

    题目:https://www.luogu.org/problemnew/show/P4220 http://uoj.ac/problem/347 先写了一下 n^2 和三棵树一样的情况,n^2 还写了 ...

  9. CF1092 D & E —— 思路+单调栈,树的直径

    题目:https://codeforces.com/contest/1092/problem/D1 https://codeforces.com/contest/1092/problem/D2 htt ...

  10. 更改Linux时区的两种方法

    在Azure上的Linux虚拟机启动后默认是UTC的时区.对很多应用要记录时间戳非常的不方便. 本文将介绍两种更改Linux时间戳的方法,供大家参考. 1.修改/etc/localtime文件 控制系 ...