2010-06-17 66 views
1

表是C#SQL VS 08 SQL Server 2005 Express的如何查询数据库,而无需访问表中,更正该数据库,而不是使用

在以往任何时候的SQL SELECT语句中使用,其总喜欢

无论何时

select * from tablename 

或count语句 是选择或在表上做任何事情ALSI像

select count something from table name 

我想知道哪些表退出我的数据库我连接到!

所以像

select alltablenames from database_name. 

请指导。

+0

谷歌知道这种东西... http://www.google.com/search?hl=en&q=SQL+query+table+名称 – Reddog 2010-06-17 07:32:21

回答

3

个人而言,我会使用Information_Schema.Tables & Information_Schema.Columns视图,因为这些视图是由Microsoft提供的视图。 (而不是使用系统对象表)

+1

使用它们的原因IMO更多的是它们是作为ANSI标准一部分的视图,不应该在各种版本之间随意改变,并且应该在其他符合ANSI的DB中工作 - 换句话说,因为它们'不是微软具体的。 sysobjects是Microsoft特定的解决方案。 – 2010-06-17 14:17:34

1

列出数据库的所有表

USE YourDBName 
GO 
SELECT * 
FROM sys.Tables WHERE type='u' 

检查表数据库中存在或不

IF EXISTS (SELECT 1 
    FROM sysobjects 
    WHERE xtype='u' AND name='tablename') 
     SELECT 'tablename exists.' 
ELSE 
     SELECT 'tablename does not exist.' 
0

下面的查询返回在SQL Server数据库中的表的名称:

select name from sysobjects where xtype = 'U' 
相关问题