亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SQL Server 數據庫管理常用的SQL和T-SQL語句

系統 1818 0
  1. --按姓氏筆畫排序:
  2. SELECT * FROM TableName ORDER BY 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 ) ,@ SQL NVARCHAR ( 1000 )
  11. SELECT @list = @list + ',' + b. name FROM 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 ( SELECT CHECKSUM_AGG ( BINARY_CHECKSUM ( * ) ) FROM A )
  18. =
  19. ( SELECT CHECKSUM_AGG ( BINARY_CHECKSUM ( * ) ) FROM B )
  20. PRINT '相等'
  21. ELSE
  22. PRINT '不相等'
  23. --殺掉所有的事件探察器進程:
  24. DECLARE hcforeach CURSOR GLOBAL FOR SELECT '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. SELECT TOP N * FROM
  30. -------------------------------
  31. N到M條記錄 ( 要有主索引ID )
  32. SELECT TOP M - N * FROM WHERE ID in ( SELECT TOP M ID FROM ) ORDER BY ID DESC
  33. ----------------------------------
  34. N到結尾記錄
  35. SELECT TOP N * FROM ORDER BY 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.. syslogins WHERE name = 'sa' )
  48. 或者
  49. SELECT dbid, name AS DB_NAME FROM master.. sysdatabases WHERE sid <> 0x01
  50. --查詢某一個表的字段和數據類型
  51. SELECT column_name,data_type FROM information_schema. columns
  52. WHERE table_name = '表名'
  53. [ n ] . [ 標題 ] :
  54. SELECT * FROM TableName ORDER BY CustomerName
  55. [ n ] . [ 標題 ] :
  56. SELECT * FROM TableName ORDER BY CustomerName
  57. --查看數據庫的版本
  58. SELECT @@VERSION
  59. --查看數據庫所在機器操作系統參數
  60. EXEC master.. XP_MSVER
  61. --查看數據庫啟動的參數
  62. SP_CONFIGURE
  63. --查看數據庫啟動時間
  64. SELECT CONVERT ( VARCHAR ( 30 ) ,login_time, 120 ) FROM master.. sysprocesses WHERE 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. SELECT DISTINCT OBJECT_NAME ( id ) FROM syscomments WHERE TEXT 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. BACKUP LOG @database_name WITH no_log
    42. DBCC shrinkfile ( @database_name_log, 5 )
    43. --分析SQL Server SQL 語句的方法:
    44. SET STATISTICS TIME { ON | OFF }
    45. SET STATISTICS io { ON | OFF }
    46. 圖形方式顯示查詢執行計劃
    47. 在查詢分析器 -> 查詢 -> 顯示估計的評估計劃 ( D ) - Ctrl - L 或者點擊工具欄里的圖形
    48. 文本方式顯示查詢執行計劃
    49. SET showplan_all { ON | OFF }
    50. SET showplan_text { ON | OFF }
    51. SET STATISTICS profile { ON | OFF }
    52. --出現不一致錯誤時,NT事件查看器里出3624號錯誤,修復數據庫的方法
    53. 先注釋掉應用程序里引用的出現不一致性錯誤的表,然后在備份或其它機器上先恢復然后做修復操作
    54. ALTER DATABASE [ @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. ALTER DATABASE [ @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 
      
        WHERE
      
      
        

      t2.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;
    

?

?

下載

SQL Server 數據庫管理常用的SQL和T-SQL語句


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久99亚洲精品久久久久网站 | 欧美乱插 | 久久99国产一区二区三区 | 免费国产午夜高清在线视频 | 成人欧美精品大91在线 | 欧美a一片xxxx片 | 一区二区三区网站在线免费线观看 | 一级欧美在线的视频 | 国产日韩欧美亚洲综合在线 | 国产精品永久免费视频 | 欧美精品一区二区三区久久 | 奇米影视888 | 最新国产一区二区精品久久 | 日本免费的一级v一片 | 婷婷四色| 成人小视频在线观看 | 国产精品欧美亚洲韩国日本99 | 天堂网一区二区 | 午夜视频久久久久一区 | 这里只有精品久久 | 这里只有精品99re在线 | 国产激情一区二区三区在线观看 | 日韩毛片在线看 | 日本免费黄色小视频 | 九九99香蕉在线视频美国毛片 | 午夜剧场毛片 | 久草青青在线视频 | 欧美色操 | 97国内精品久久久久久久影视 | 国产精品怡红院永久免费 | 日韩伦理亚洲欧美在线一区 | 欧美18videosex护士| 亚洲欧美另类久久久精品能播放的 | 插插插色综合 | 高清中文字幕视频在线播 | chinese国产在线视频 | 免费视频亚洲 | 国产娱乐凹凸视觉盛宴在线视频 | 又粗又大的机巴好爽7 | 九九热精品国产 | 四虎影院4hu|