您的位置:首页 > 数据库

sql server 中的一些实用的sql语句

2012-05-13 14:27 357 查看
sql server 中的一些实用的sql语句

简介

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

sql语句列表

如何列举sql server当前连接的可用数据库

Method 1 : SP_DATABASES

Method 2 : SELECT name FROM SYS.DATABASES

Method 3 : SELECT name FROM SYS.MASTER_FILES

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数据库中的用户表.

Method 1 : SELECT name FROM SYS.OBJECTS WHERE type=U

Method 2 : SELECT NAME FROM SYSOBJECTS WHERE xtype=U

Method 3 : SELECT name FROM SYS.TABLES

Method 4 : SELECT name FROM SYS.ALL_OBJECTS WHERE type=U

Method 5 : SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE=BASE TABLE

Method 6 : SP_TABLES

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

Method 1 : SELECT name FROM SYS.OBJECTS WHERE type=P

Method 2 : SELECT name FROM SYS.PROCEDURES

Method 3 : SELECT name FROM SYS.ALL_OBJECTS WHERE type=P

Method 4 : SELECT NAME FROM SYSOBJECTS WHERE xtype=P

Method 5 : SELECT Routine_name FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE=PROCEDURE

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

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

sql2000的语法

SELECT name FROM SYSOBJECTS WHERE type='P '

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

Method 1 : SP_HELPTRIGGER Products

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

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

如何获取数据表中的列

Method 1 : SP_HELP Products

Method 2 : SP_COLUMNS Products

Method 3 : SELECT * FROM SYS.COLUMNS WHERE object_id = object_id(Products)

Method 4 : SELECT COLUMN_NAME,Ordinal_position,Data_Type,character_maximum_length FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=Products

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

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%

Method 2 : SELECT OBJECT_NAME(object_id) AS [Table Name] FROM SYS.COLUMNS WHERE name LIKE %ShipName%

Method 3 : SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE %ShipName%

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

Method 1 : SELECT OBJECT_NAME(id) AS [View Name],text FROM SYSCOMMENTS WHERE id IN (SELECT object_id FROM SYS.VIEWS)

Method 2 : SELECT * FROM sys.all_sql_modules WHERE object_id IN (SELECT object_id FROM SYS.VIEWS)

Method 3 : SP_HELPTEXT ViewName
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: