• 常用SQL语句


    SELECT  o.name AS tbname, c.name AS columnname, t.name AS typename,
    c.max_length
    FROM sys.tables AS o
    JOIN sys.columns AS c ON o.object_id = c.object_id
    JOIN sys.types AS t ON c.system_type_id = t.system_type_id

    SELECT * FROM sys.views WHERE name LIKE '%Price%' --查询系统视图
    SELECT * FROM sys.tables WHERE name LIKE '%Price%' --查询系统表
    SELECT * FROM sys.indexes WHERE name LIKE '%Price%' --查询系统索引

    --1.按姓氏笔画排序:
    SELECT *
    FROM TableName
    ORDER BY CustomerName COLLATE Chinese_PRC_Stroke_ci_as

    --2.分页SQL语句
    SELECT *
    FROM ( SELECT ( row_number() OVER ( ORDER BY tab.ID DESC ) ) AS rownum ,
    tab.*
    FROM 表名 AS tab
    ) AS t
    WHERE rownum BETWEEN 起始位置 AND 结束位置

    --3.获取当前数据库中的所有用户表
    SELECT *
    FROM sysobjects
    WHERE xtype = 'U'
    AND category = 0

    --4.获取某一个表的所有字段
    SELECT name
    FROM syscolumns
    WHERE id = OBJECT_ID('表名')

    --5.查看与某一个表相关的视图、存储过程、函数
    SELECT a.*
    FROM sysobjects a ,
    syscomments b
    WHERE a.id = b.id
    AND b.text LIKE '%表名%'

    --6.查看当前数据库中所有存储过程
    SELECT name AS 存储过程名称
    FROM sysobjects
    WHERE xtype = 'P'

    --7.查询用户创建的所有数据库
    SELECT *
    FROM master..sysdatabases D
    WHERE sid NOT IN ( SELECT sid
    FROM master..syslogins
    WHERE name = 'sa' )
    --或者
    SELECT dbid, name AS DB_NAME
    FROM master..sysdatabases
    WHERE sid <> 0x01

    --8.查询某一个表的字段和数据类型
    SELECT column_name, data_type
    FROM information_schema.columns
    WHERE table_name = '表名'

    --9.使用事务
    --
    在使用一些对数据库表的临时的SQL语句操作时,可以采用SQL SERVER事务处理,防止对数据操作后发现误操作问题
    --
    开始事务
    BEGIN TRAN
    INSERT INTO TableName
    VALUES ( … )
    --SQL语句操作不正常,则回滚事务。
    --
    回滚事务
    ROLLBACK TRAN
    -- SQL语句操作正常,则提交事务,数据提交至数据库。
    --
    提交事务
    COMMIT TRAN
    --10. 按全文匹配方式查询
    字段名 LIKE N'%[^a-zA-Z0-9]China[^a-zA-Z0-9]%'
    OR 字段名 LIKE N'%[^a-zA-Z0-9]China'
    OR 字段名 LIKE N'China[^a-zA-Z0-9]%'
    OR 字段名 LIKE N'China'

    --11.计算执行SQL语句查询时间
    DECLARE @d DATETIME
    SET @d = GETDATE()
    SELECT *
    FROM SYS_ColumnProperties
    SELECT [语句执行花费时间(毫秒)] = DATEDIFF(ms, @d, GETDATE())

    --12、说明:几个高级查询运算词
    A: UNION 运算符
    UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALLUNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
    B: EXCEPT 运算符
    EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALLEXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
    C: INTERSECT 运算符
    INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALLINTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
  • 相关阅读:
    设计模式之Flyweight模式(笔记)
    【leetcode】Valid Sudoku
    POJ2369 Permutations【置换群】
    Linux下无需输入password自己主动登陆sshserver方法
    HDU 1847 Good Luck in CET-4 Everybody!(找规律版巴什博奕)
    HDU 4786Fibonacci Tree(最小生成树)
    次小生成树
    洛谷P4180 [Beijing2010组队]次小生成树Tree
    MatrixTree速成
    SP104 HIGH
  • 原文地址:https://www.cnblogs.com/ToddLai/p/2287342.html
Copyright © 2020-2023  润新知