SQL Server 数据库管理常用的SQL和T-SQL语句

  1. --按姓氏笔画排序:
  2. SELECT*FROM TableName ORDERBY CustomerName COLLATE Chinese_PRC_Stroke_ci_as
  3. --数据库加密:
  4. SELECT encrypt('原始密码')
  5. SELECT pwdencrypt('原始密码')
  6. SELECT pwdcompare('原始密码','加密后密码')=1--相同;否则不相同 encrypt('原始密码')
  7. SELECT pwdencrypt('原始密码')
  8. SELECT pwdcompare('原始密码','加密后密码')=1--相同;否则不相同
  9. --取回表中字段:
  10. DECLARE @list VARCHAR(1000),@SQLNVARCHAR(1000)
  11. SELECT @list=@list+','+b.nameFROM sysobjects a,syscolumns b WHERE a.id=b.id and a.name='表A'
  12. SET @SQL='select '+RIGHT(@list,LEN(@list)-1)+' from 表A'
  13. EXEC(@SQL)
  14. --查看硬盘分区:
  15. EXEC master..xp_fixeddrives
  16. --比较A,B表是否相等:
  17. IF(SELECTCHECKSUM_AGG(BINARY_CHECKSUM(*))FROM A)
  18. =
  19. (SELECTCHECKSUM_AGG(BINARY_CHECKSUM(*))FROM B)
  20. PRINT'相等'
  21. ELSE
  22. PRINT'不相等'
  23. --杀掉所有的事件探察器进程:
  24. DECLARE hcforeach CURSORGLOBALFORSELECT'kill '+RTRIM(spid)FROM master.dbo.sysprocesses
  25. WHERE program_name IN('SQL profiler',N'SQL 事件探查器')
  26. EXEC sp_msforeach_worker '?'
  27. --记录搜索:
  28. 开头到N条记录
  29. SELECTTOP N *FROM
  30. -------------------------------
  31. N到M条记录(要有主索引ID)
  32. SELECTTOP M-N *FROMWHERE ID in (SELECTTOP M ID FROM)ORDERBY ID DESC
  33. ----------------------------------
  34. N到结尾记录
  35. SELECTTOP N *FROMORDERBY ID DESC
  36. --如何修改数据库的名称:
  37. SP_RENAMEDB'old_name', 'new_name'
  38. --获取当前数据库中的所有用户表
  39. SELECT Name FROM sysobjects WHERE xtype='u' and status>=0
  40. --获取某一个表的所有字段
  41. SELECT name FROM syscolumns WHERE id=OBJECT_ID('表名')
  42. --查看与某一个表相关的视图、存储过程、函数
  43. SELECT a.*FROM sysobjects a, syscomments b WHERE a.id= b.id and b.TEXT like '%表名%'
  44. --查看当前数据库中所有存储过程
  45. SELECT name AS 存储过程名称 FROM sysobjects WHERE xtype='P'
  46. --查询用户创建的所有数据库
  47. SELECT*FROM master..sysdatabases D WHERE sid not in(SELECT sid FROM master..sysloginsWHERE name='sa')
  48. 或者
  49. SELECT dbid, name ASDB_NAMEFROM master..sysdatabasesWHERE sid <> 0x01
  50. --查询某一个表的字段和数据类型
  51. SELECT column_name,data_type FROM information_schema.columns
  52. WHERE table_name ='表名'
  53. [n].[标题]:
  54. SELECT*FROM TableName ORDERBY CustomerName
  55. [n].[标题]:
  56. SELECT*FROM TableName ORDERBY CustomerName
  57. --查看数据库的版本
  58. SELECT@@VERSION
  59. --查看数据库所在机器操作系统参数
  60. EXEC master..XP_MSVER
  61. --查看数据库启动的参数
  62. SP_CONFIGURE
  63. --查看数据库启动时间
  64. SELECTCONVERT(VARCHAR(30),login_time,120)FROM master..sysprocessesWHERE spid=1
  65. 查看数据库服务器名和实例名
  66. PRINT'Server Name...............: '+CONVERT(VARCHAR(30),@@SERVERNAME)
  67. PRINT'Instance..................: '+CONVERT(VARCHAR(30),@@SERVICENAME)
  68. --查看所有数据库名称及大小
  69. SP_HELPDB
  70. 重命名数据库用的SQL
  71. SP_RENAMEDB'old_dbname', 'new_dbname'
  72. --查看所有数据库用户登录信息
  73. SP_HELPLOGINS
  74. 查看所有数据库用户所属的角色信息
  75. SP_HELPSRVROLEMEMBER
  76. 修复迁移服务器时孤立用户时,可以用的fix_orphan_user脚本或者LoneUser过程
  77. 更改某个数据对象的用户属主
  78. SP_CHANGEOBJECTOWNER[@objectname =]'object', [@newowner =]'owner'
  79. 注意: 更改对象名的任一部分都可能破坏脚本和存储过程。
  80. 把一台服务器上的数据库用户登录信息备份出来可以用add_login_to_aserver脚本
    ---------------------------------------------------------------

    1. --查看链接服务器
    2. SP_HELPLINKEDSRVLOGIN
    3. 查看远端数据库用户登录信息
    4. SP_HELPREMOTELOGIN
    5. --查看某数据库下某个数据对象的大小
    6. SP_SPACEUSED @objname
    7. 还可以用sp_toptables过程看最大的N(默认为50)个表
    8. 查看某数据库下某个数据对象的索引信息
    9. SP_HELPINDEX @objname
    10. 还可以用SP_NChelpindex过程查看更详细的索引情况
    11. SP_NChelpindex @objname
    12. CLUSTERED索引是把记录按物理顺序排列的,索引占的空间比较少。
    13. 对键值DML操作十分频繁的表我建议用非CLUSTERED索引和约束,FILLFACTOR参数都用默认值。
    14. 查看某数据库下某个数据对象的的约束信息
    15. SP_HELPCONSTRAINT @objname
    16. --查看数据库里所有的存储过程和函数
    17. USE @database_name
    18. SP_STORED_PROCEDURES
    19. 查看存储过程和函数的源代码
    20. SP_HELPTEXT'@procedure_name'
    21. 查看包含某个字符串@STR的数据对象名称
    22. SELECTDISTINCTOBJECT_NAME(id)FROM syscomments WHERETEXT like '%@str%'
    23. 创建加密的存储过程或函数在AS前面加WITH ENCRYPTION参数
    24. 解密加密过的存储过程和函数可以用sp_decrypt过程
    25. --查看数据库里用户和进程的信息
    26. SP_WHO
    27. 查看SQL Server数据库里的活动用户和进程的信息
    28. SP_WHO'active'
    29. 查看SQL Server数据库里的锁的情况
    30. SP_LOCK
    31. 进程号1--50是SQL Server系统内部用的,进程号大于50的才是用户的连接进程.
    32. spid是进程编号,dbid是数据库编号,objid是数据对象编号
    33. 查看进程正在执行的SQL语句
    34. DBCC inputbuffer ()
    35. 推荐大家用经过改进后的sp_who3过程可以直接看到进程运行的SQL语句
    36. sp_who3
    37. 检查死锁用sp_who_lock过程
    38. sp_who_lock
    39. --收缩数据库日志文件的方法
    40. 收缩简单恢复模式数据库日志,收缩后@database_name_log的大小单位为M
    41. BACKUPLOG @database_name WITH no_log
    42. DBCC shrinkfile (@database_name_log, 5)
    43. --分析SQL Server SQL 语句的方法:
    44. SETSTATISTICSTIME{ON|OFF}
    45. SETSTATISTICS io {ON|OFF}
    46. 图形方式显示查询执行计划
    47. 在查询分析器->查询->显示估计的评估计划(D)-Ctrl-L 或者点击工具栏里的图形
    48. 文本方式显示查询执行计划
    49. SET showplan_all {ON|OFF}
    50. SET showplan_text {ON|OFF}
    51. SETSTATISTICS profile {ON|OFF}
    52. --出现不一致错误时,NT事件查看器里出3624号错误,修复数据库的方法
    53. 先注释掉应用程序里引用的出现不一致性错误的表,然后在备份或其它机器上先恢复然后做修复操作
    54. ALTERDATABASE[@error_database_name]SET single_user
    55. 修复出现不一致错误的表
    56. DBCC checktable('@error_table_name',repair_allow_data_loss)
    57. 或者可惜选择修复出现不一致错误的小型数据库名
    58. DBCC checkdb('@error_database_name',repair_allow_data_loss)
    59. ALTERDATABASE[@error_database_name]SET multi_user
    60. CHECKDB 有3个参数:
    61. repair_allow_data_loss 包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,
    62. 以及删除已损坏的文本对象,这些修复可能会导致一些数据丢失。
    63. 修复操作可以在用户事务下完成以允许用户回滚所做的更改。
    64. 如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。
    65. 如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。
    66. 修复完成后,请备份数据库。
    67. repair_fast 进行小的、不耗时的修复操作,如修复非聚集索引中的附加键。
    68. 这些修复可以很快完成,并且不会有丢失数据的危险。
    69. repair_rebuild 执行由 repair_fast 完成的所有修复,包括需要较长时间的修复(如重建索引)。
    70. 执行这些修复时不会有丢失数据的危险。
    /*
    getdate() 获取当前时间,
    datename(datepart,date)  返回datepart指定字符串格式的时间
    datepart(datepart,date)  返回datepart指定字整形格式的时间
    */

    select getdate(), datename(mm,getdate()), datepart(mm,getdate())

    /*isdate(str) 为真返回1 为假则为0  */
    select isdate('2009/1/02')

    select ceiling(12.3--取最大整数
    select floor(12.3)   --取最小整数

    select len(getdate()) --获取字符串长度

    select left('abcdef',4),right(123456,4--left 获取字符串从左开始的指定长度
            -----right 获取字符串从右边开始的指定长度
    select substring('abcdefghijklmn' ,2 ,6)  --bcdefg 获取指定起点跟终点的长度

    select replicate('wk',3--按照指定次数复制字符串

    select ltrim'   123') , rtrim('add    '--取出字符串左,右空格
    select reverse('abcde')  --edcba 获取一个反序的字符串


    --------------****数据库时间格式****----------------

    select dateadd(year,2,'2004-10-17'--加两年

    select datediff(day,'2006-10-10','2006-12-18'-- 判断天差

 

     分类拼接字符串

---1、 建立临时表--
SELECT * INTO  temp_CombineBuying FROM (SELECT b.ProviderTypeShortName,a.ProviderGUID,b.ProviderTypeCode FROM  p_provider2Type  a INNER JOIN   p_ProviderType b ON a.ProviderTypeCode=b.ProviderTypeCode) t
----- 2、拼接字符串 --- 
SELECT ProviderGUID, stuff(  (select ','+convert(varchar(25), ProviderTypeShortName) from temp_CombineBuying as t2 WHEREt2.ProviderGUID=t1.ProviderGUID FOR XML PATH('')), 1, 1, ''  
) as ProviderTypeNameList  INTO  p_ProviderTypeNameList
FROM temp_CombineBuying AS t1 GROUP BY ProviderGUID
----- 3、清除临时表
DROP TABLE temp_CombineBuying;
DROP TABLE p_ProviderTypeNameList;

 

 

下载

转载于:https://www.cnblogs.com/rhythmK/archive/2009/09/03/1559437.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是一致性Hash算法?

原文链接&#xff1a;https://blog.csdn.net/bntX2jSQfEHy7/article/details/7954936 最近有小伙伴跑过来问什么是Hash一致性算法&#xff0c;说面试的时候被问到了&#xff0c;因为不了解&#xff0c;所以就没有回答上&#xff0c;问我有没有相应的学习资料推荐&#xff0c;当…

ZEN CART 在LINUX系统下设置邮箱方法---用GMAIL设置,方法选择SMTPAUTH

电子邮件发送方式smtpauth 电子邮件换行LF 使用HTML格式发送电子邮件true 发送电子邮件true电子邮件存档false 电子邮件出错信息false 用于显示的店主邮件地址salemulberrydiscountstore.com发件人邮件地址salemulberrydiscountstore.com 电子邮件必须从现有域名发送No 管理员电…

c++入门基础知识

命名空间刚开始接触c&#xff0c;我们会发现与C语言相比不光头文件有所不同&#xff0c;还会发现using namespce std&#xff1b;这句话&#xff0c;其实这就是c的命名空间。 (1) 概念命名空间是为了防止名字冲突提供更加可控的机制。命名空间分割了全局命名空间&#xff0c;其…

读书笔记之《得未曾有》

作者 安妮宝贝&#xff0c;2014年笔名改为“庆山” 感想 第一次读庆山的作品&#xff0c;可以书名来总结的一下&#xff0c;得未曾有——获得了一种未曾有过得感受。 一、感受作者 高晓松老师的节目里说过一句话&#xff0c;写作需要长时间的观察人性、需要极强的观察能力。庆山…

数据库索引的实现原理

转载&#xff1a;https://blog.csdn.net/kennyrose/article/details/7532032 强烈建议参阅链接&#xff1a;http://www.linezing.com/blog/?p798#nav-1 说白了&#xff0c;索引问题就是一个查找问题。。。 数据库索引&#xff0c;是数据库管理系统中一个排序的数据结构&…

斐波那契序列 集锦

[定理1] 标准Fibonacci序列&#xff08;即第0项为0&#xff0c;第1项为1的序列&#xff09;当N大于1时&#xff0c;一定有f(N)和f(N-1)互质 其实&#xff0c;结合“互质”的定义&#xff0c;和一个很经典的算法就可以轻松证明对&#xff0c;就是辗转相除法互质的定义就是最大公…

linux ssh密钥登录配置

首先确保服务器ssh服务已启动&#xff0c;用户能够正常登录&#xff0c;然后配置客户端&#xff0c;过程如下&#xff1a; 一、先用自已的用户登录到服务器&#xff0c;比如我用 uplinux 登录到服务器 二、运行 SSH Secure Shell 工具中的“Secure Shell Client ”&#xff0c;…

C++基础知识简答题

1、C 可执行程序的内存分布 BSS&#xff1a;Block Started by Symbol 存放程序中未初始化的全局变量 数据段&#xff1a; 存放已初始化的全局变量&#xff0c;静态内存分配 代码段&#xff1a; 存放执行代码 堆heap&#xff1a; 存放运行中动态分配的内存段&#xff0c;可扩张或…

linux驱动简单介绍

linux驱动简单介绍 驱动基本介绍 驱动。顾名思义就是“驱使硬件设备行动”。设备驱动与底层硬件之间打交道&#xff0c;按照硬件设备的具体操作方式来读写设备寄存器&#xff0c;最终完成一系列操作。 设备 驱动充当了应用程序和应用软件直接的纽带&#xff0c;它使得应用软件只…

远离客户陷阱小故事 转

出处&#xff1a; http://ilovecode.cnblogs.com 做项目做产品可以有3个境界&#xff1a;1 挣钱的&#xff0c;2 做品牌的&#xff0c;3 很酷的。有的人从境界1做到3&#xff0c;有得人从3做到1。 我是从1做到3&#xff0c;因为有了钱&#xff0c;你才能远离垃圾项目和不…

typename的作用

一、与class的区别 template声明式中&#xff0c;class和typename这两个关键字意义完全相同 template<class T> class Widget; template<typename T> class Widget; 二、什么时候要用typename&#xff1f;比如下面的代码 template <typename C> void …

[转]详细讲解提高数据库查询效率的实用方法、外键关于性能

1.对查询进行优化&#xff0c;应尽量避免全表扫描&#xff0c;首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断&#xff0c;否则将导致引擎放弃使用索引而进行全表扫描&#xff0c;如&#xff1a; select id from t w…

C语言 scanf()和gets()函数的区别

C语言 scanf()和gets()函数的区别 1.相同点&#xff1a;scanf( )函数和gets( )函数都可用于输入字符串 2.不同点&#xff1a;两者在功能上有所区别,具体区别如下&#xff1a; 要实现如下需求“从控制台输入字符串”有如下两种实现方式&#xff1a; 1>使用gets()函数实现使用…

静态链接库与动态链接库的区别

(1)、静态链接库&#xff1a;在链接阶段(生成可执行文件)将库函数全部载入到可执行文件中&#xff0c;可执行文件中包含了所有的库函数 优点&#xff1a;应用程序可以独立运行&#xff1b; 缺点&#xff1a;如果多次调用库中的函数&#xff0c;则该库函数会被调用多次 (2)、动…

用C语言实现SGF格式围棋棋谱解析器

这是本人&#xff08;liigo&#xff09;独立实现的SGF格式围棋棋谱文件解析器&#xff0c;本文介绍其实现细节。网络上肯定可以找到完善的开源的SGF解析器&#xff0c;这是毋庸置疑的&#xff0c;我不直接使用它们&#xff0c;也不参考它们的实现代码&#xff0c;而是自己独立编…

各种***方式说明

使消息保密的技术和科学叫做密码编码学&#xff08;cryptography&#xff09;。密码编码学是密码体制的设计学&#xff0c;即怎样编码&#xff0c;采用什么样的密码体制以保证信息被安全地加密。从事此行业的人员叫做密码编码者&#xff08;cryptographer&#xff09;。 与之相…

C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区

C内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区栈&#xff0c;就是那些由编译器在需要的时候分配&#xff0c;在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中&#xff0c;位于用户虚拟地址空间顶部的是用…

Uoj 441 保卫王国

Uoj 441 保卫王国 动态 \(dp\) .今天才来写这个题.设 \(f[u][0/1]\) 表示子树 \(u\) 中不选/选 \(u\) 时的最小权值和,显然有:\(f[u][0]\sum f[v][1] ,f[u][1]w[u]\sum \min(f[v][0],f[v][1])​\) .现在要资瓷修改 \(x\) 的点权 \(w[x]\) ,容易发现修改后只会影响 \(x\) 到根节…

行存和列存的区别

写入&#xff1a; 行存储的写入是一次完成&#xff0c;数据的完整性因此可以确定。 列存储需要把一行记录拆分成单列保存&#xff0c;写入次数明显比行存储多。 行存储在写入上占有很大的优势 数据修改&#xff1a; 行存储是在指定位置写入一次&#xff0c;列存储是将磁盘定位…

javascript中的命名规则和方法

javascript变量名需要遵守两条简单的规则&#xff1a;1、第一个字符必须是字母、下划线&#xff08;_&#xff09; 或美圆符号&#xff08;$&#xff09;。2、余下的字符可以是下划线、美圆符号或任何字母或数字字符。 命名方法&#xff1a;1、Camel标记法——首字母是小写的&a…