如何在sql里用一条T-SQL命令查看数据库所有表内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在sql里用一条T-SQL命令查看数据库所有表内容相关的知识,希望对你有一定的参考价值。

如题!数据库里有很多个表,请问该怎么用一条命令查看所有表的内容呢?

参考技术A 1、显示所有用户表
use 数据库名
go
select name from sysobjects where type='u'
2、显示所有用系统表
use 数据库名
go
select name from sysobjects where type='s'
3、显示所有表
use 数据库名
go
select name from sysobjects where type='u' or type='s'

参考资料:如果我的回答让你满意,请加分!谢谢

本回答被提问者和网友采纳
参考技术B 写N个查询语句 连在一起执行就可以了

T-SQL 列表、列

【中文标题】T-SQL 列表、列【英文标题】:T-SQL List Tables, Columns 【发布时间】:2013-05-10 12:17:23 【问题描述】:

在 T-SQL (SQL Server 2000) 中。如何列出数据库中的所有表和列? 此外,在单独的查询中,有一种方法可以列出所有列以及数据类型和约束(NULLS 等)。谢谢。

【问题讨论】:

查看INFORMATION_SCHEMA 视图或sysobjectssyscolumns 等。 【参考方案1】:

请查看information schema。

select *
from MyDatabaseName.information_schema.columns
order by table_name, ordinal_position

【讨论】:

谢谢蒂姆,我很感激。有没有办法将表分配给哪个数据库?我看到目录是主目录。 use MyDatabaseName;,然后查询。 MSDN: Selecting a Database。或者,将数据库名称添加到您的 from 子句中的普通 4-part fashion (我已将其添加到答案中)。 我刚刚发现了。再次感谢【参考方案2】:

有很多方法可以做到这一点。以下是您可以列出的几种方式:

选项 1:

SELECT db_name() as DATABASE_NAME, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, ORDINAL_POSITION,
       COLUMN_DEFAULT, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH,
       NUMERIC_PRECISION, NUMERIC_PRECISION_RADIX, NUMERIC_SCALE,
       DATETIME_PRECISION
FROM INFORMATION_SCHEMA.COLUMNS

选项 2:

DECLARE @SQL VARCHAR(8000)
SELECT  @SQL = ''
SELECT  @SQL = @SQL + 'UNION
SELECT ''' + name + ''' [DataBaseName], t.name [TableName], c.name [ColumnName], st.name [DataType] FROM ' + name + '..sysobjects t INNER JOIN ' + name + '..syscolumns c ON t.id = c.id INNER JOIN '+ name + '..systypes st on c.xtype = st.xtype where t.xtype = ''U'''
FROM master..sysdatabases
WHERE name IN ('databasename1', 'databaseName2')  -- change here !!
SELECT @SQL = RIGHT(@SQL, LEN(@SQL)-5) + ' ORDER BY 1, 2, 3'
EXEC(@SQL)

选项 3:

select db_name() as database_name
    ,table_name = sysobjects.name
    ,column_name = syscolumns.name
    ,datatype = systypes.name
    ,length = syscolumns.length
from sysobjects
inner join syscolumns on sysobjects.id = syscolumns.id
inner join systypes on syscolumns.xtype = systypes.xtype
where sysobjects.xtype = 'U'
order by sysobjects.name
    ,syscolumns.colid

【讨论】:

以上是关于如何在sql里用一条T-SQL命令查看数据库所有表内容的主要内容,如果未能解决你的问题,请参考以下文章

我想用一条SQL给一个表中添加1000条数据,怎么写这样的SQL

T-SQL:手动锁定表几分钟[重复]

T-SQL 列表、列

用一条sql语句查询表中字段的所有首字母大写

求高手帮忙sql写法:树节点放一个表中,怎么用一条语句查询一个节点及对应的所有父节点信息。

如何查询一个表中,各个分类的前面2条数据,用一条sql语句