SQL Server数据库中常用的sql语句有哪些?

此文主要向大家讲述的是SQL Server数据库中的一些经常使用的sql语句的描述,在此篇文章里,我列举一些常用的sql语句来对数据库,数据表,视图等等进行介绍。当我们在使用查询查询操作时这些sql语句都是非常有用的。

虽然在SQL Server对象浏览器中我们也可以获得这些语句,但是如果我们写这些语句时我们可以将它

 

简介

 

在这篇文章中,我列举一些sql语句来介绍数据库,数据表,视图等等。当我们在使用查询查询操作时这些sql语句都是非常有用的。虽然在SQL Server数据库对象浏览器中我们也可以获得这些语句,但是如果我们写这些语句时我们可以将它自定义。这就意味着我们可以给予自己的需求来过滤结果。

 

sql语句列表

如何列举SQL Server数据库当前连接的可用数据库

 

 

  1. Method 1 : SP_DATABASES   
  2. Method 2 : SELECT name FROM SYS.DATABASES   
  3. Method 3 : SELECT name FROM SYS.MASTER_FILES   
  4. Method 4 : SELECT * FROM SYS.MASTER_FILES -- Type=0 for .mdf and type=1 for .ldf  

SP_DATABASES是一个可以列举数据库及其大小的存储过程

 

sys.databases语句中可以列举数据库名称,创建日期,修改日期,已经数据库id和其他一些信息。

SYS.MASTER_FILES语句可以查询数据的详细情况,比如数据库id,大小,物理存储路径以及列举数据库mdf和ldf.

如何列举数据库中的数据表

以下的sql语句都可以列表SQL Server数据库中的用户表.

  1. Method 1 : SELECT name FROM SYS.OBJECTS WHERE type='U'   
  2. Method 2 : SELECT NAME FROM SYSOBJECTS WHERE xtype='U'   
  3. Method 3 : SELECT name FROM SYS.TABLES   
  4. Method 4 : SELECT name FROM SYS.ALL_OBJECTS WHERE type='U'   
  5. Method 5 : SELECT table_name FROM INFORMATION_SCHEMA.  
  6. TABLES WHERE TABLE_TYPE='BASE TABLE'   
  7. Method 6 : SP_TABLES   

如何列举数据库中的存储过程

  1. Method 1 : SELECT name FROM SYS.OBJECTS WHERE type='P'   
  2. Method 2 : SELECT name FROM SYS.PROCEDURES   
  3. Method 3 : SELECT name FROM SYS.ALL_OBJECTS WHERE type='P'   
  4. Method 4 : SELECT NAME FROM SYSOBJECTS WHERE xtype='P'   
  5. Method 5 : SELECT Routine_name FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE='PROCEDURE'  

SYS.OBJECTS数据表包含了全部的存储过程,数据表,触发器,视图等的信息,这里使用type=’p’来查询存储过程.

Information_schema.routines在SQL Server 7.0是一个数据视图,在其后的版本中已经变成存储过程专有的表.

如何列举数据库中的视图

  1. Method 1 : SELECT name FROM SYS.OBJECTS WHERE type='V'   
  2. Method 2 : SELECT name FROM SYS.ALL_OBJECTS WHERE type='V'   
  3. Method 3 : SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS   
  4. Method 4 : SELECT name FROM SYS.VIEWS  

如何列举数据库中的函数

 

  1. Method 1 : SELECT name FROM SYS.OBJECTS WHERE type='IF' -- inline function   
  2. Method 2 : SELECT name FROM SYS.OBJECTS WHERE type='TF' -- table valued function   
  3. Method 3 : SELECT name FROM SYS.OBJECTS WHERE type='FN' -- scalar function   
  4. Method 4 : SELECT name FROM SYS.ALL_OBJECTS WHERE type='IF' -- inline function   
  5. Method 5 : SELECT name FROM SYS.ALL_OBJECTS WHERE type='TF' -- table valued function   
  6. Method 6 : SELECT name FROM SYS.ALL_OBJECTS WHERE type='FN' -- scalar function   
  7. Method 7 : SELECT Routine_name FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE='FUNCTION'  

如何列举数据库中的触发器

 

  1. Method 1 : SP_HELPTRIGGER Products   
  2. Method 2 : SELECT * FROM SYS.TRIGGERS WHERE parent_id = object_id('products')  

下面我以一个products表为例列举一些对表的操作.

 

如何获取数据表中的列

  1. Method 1 : SP_HELP Products   
  2. Method 2 : SP_COLUMNS Products   
  3. Method 3 : SELECT * FROM SYS.COLUMNS WHERE object_idobject_id = object_id('Products')   
  4. Method 4 : SELECT COLUMN_NAME,Ordinal_position,Data_Type,  
  5. character_maximum_length FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='Products'   

如何根据数据表的列查找数据表的名称

 

  1. Method 1 : SELECT O.name FROM SYS.OBJECTS O INNER JOIN SYS.COLUMNS C ON C.Object_ID = O.Object_ID WHERE C.name LIKE '%ShipName%'   
  2. Method 2 : SELECT OBJECT_NAME(object_id) AS [Table Name] FROM SYS.COLUMNS WHERE name LIKE '%ShipName%'   
  3. Method 3 : SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE '%ShipName%'  

如何获得数据表的总列数

 

  1. Method 1 : SELECT COUNT(@@ROWCOUNT) FROM Products   
  2. Method 2 : SELECT COUNT (ProductID) FROM Products   
  3. Method 3 : SELECT OBJECT_NAME(id) AS [Table Name],rowcnt FROM SYSINDEXES   
  4. WHERE OBJECTPROPERTY(id,'isUserTable')=1 AND indid < 2 ORDER BY rowcnt DESC   
  5. Method 4 : SELECT rowcnt FROM sysindexes WHERE id = OBJECT_ID('Products') AND indid < 2   
  6. Method 5 : SELECT OBJECT_NAME(OBJECT_ID) TableName,  
  7. row_count FROM sys.dm_db_partition_stats WHERE object_idobject_id = object_id('Products') AND index_id < 2   

如何获得数据表的约束

 

  1. Method 1 : SELECT * FROM SYS.OBJECTS WHERE type='C'   
  2. Method 2 : SELECT * FROM sys.check_constraints  

如何获得数据表的索引

 

  1. Method 1 : sp_helpindex Products   
  2. Method 2 : SELECT * FROM sys.indexes WHERE object_idobject_id = object_id('products')  

如何获得数据视图的模式定义

 

  1. Method 1 : SELECT OBJECT_NAME(id) AS [View Name],text FROM SYSCOMMENTS WHERE id IN (SELECT object_id FROM SYS.VIEWS)   
  2. Method 2 : SELECT * FROM sys.all_sql_modules WHERE object_id IN (SELECT object_id FROM SYS.VIEWS)   
  3. Method 3 : SP_HELPTEXT ViewName  

如何获得存储过程中的数据表

  1. Method 1 : SELECT OBJECT_NAME(id) FROM SYSCOMMENTS S   
  2. INNER JOIN SYS.OBJECTS O ON O.Object_Id = S.id   
  3. WHERE S.text LIKE '%Products%'   
  4. AND O.type='P'  

总结

 

以上列举了一下SQL Server数据库用实用的一些sql语句,希望对你在使用查询窗口操作时有用。

 

 

【编辑推荐】

  1. 巧妙SQL Server 文件大小的步骤
  2. SQL Server2000连接错误的缘由有哪些?
  3. SQL Server实例中对另个实例的调用
  4. SQL Server 2000的安全策略的正确打造
  5. SQL Server 数据导入的实际行为规范描述

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/262169.html<

(0)
运维的头像运维
上一篇2025-05-03 23:35
下一篇 2025-05-03 23:37

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注