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. Netty使用LineBasedFrameDecoder解决TCP粘包/拆包

    TCP粘包/拆包 TCP是个”流”协议,所谓流,就是没有界限的一串数据.TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TC ...

  2. Python 模块EasyGui

    1.msgBox msgbox(msg='(Your message goes here)', title=' ', ok_button='OK', image=None, root=None) ms ...

  3. C++ STL中Map的按Key排序跟按Value排序

    C++ STL中Map的按Key排序和按Value排序 map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定 ...

  4. hibernate的update、merge和saveOrUpdate的区别(转)

    1.首先 saveOrUpdate返回void 也就是什么都不返回 而merge会返回一个对象 2.其次 saveOrUpdate的做法是:自动判断该对象是否曾经持久化过,如果曾持久化过则使用upda ...

  5. 串行总线 —— I2C、UART、SPI

    I2C,也叫 IIC,是一种常见的串行总线,它只需要两根线即可在连接于总线上的器件之间传送信息. 0. 电气知识 开漏输出:Open drain output,不输出电压,低电平时接地,高电平时不接地 ...

  6. 经过一年时间的沉淀 再次回首 TCP Socket服务器编程 (二)

    ------------------ 前言 ------------------ 发了第一篇文章后,有不少同志留言,看来socket编程仍然是软件系统里面一个比较难的部分. 第一篇文章主要介绍了传输协 ...

  7. 洛谷【P1898】缘分计算

    我对模拟的理解:http://www.cnblogs.com/AKMer/p/9064018.html 题目传送门:https://www.luogu.org/problemnew/show/P189 ...

  8. SQL语法基础:DDL、DML

    一.DDL(Data Definition Language):数据定义语句 #常见的语句 1)CREATE TABLE/DATABASE:创建数据库 CREATE [TEMPORARY] TABLE ...

  9. 问题4:对dict、list、tuple中的元素排序

    一)对字典中元素排序   方法一:利用sorted的key参数进行排序 from random import randint date = {k:randint(0, 20) for k in ran ...

  10. kafka之一:Windows上搭建Kafka运行环境

    搭建环境 1. 安装JDK 1.1 安装文件:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-213315 ...