【问题标题】:column names of all tables in a particular database in SQLSQL中特定数据库中所有表的列名
【发布时间】:2017-04-10 06:43:30
【问题描述】:

我刚刚开始使用和学习 SQL Server 我正在使用数据库 wcm_staging(所以这个数据库中的表是这样的 - wcm_staging.dbo.cust_id,并且有很多这样的表),我需要检查这个特定数据库中所有表中的列名(变量名) . 有人可以帮忙看看怎么做吗?

非常感谢,

最好的 丽缇卡

【问题讨论】:

  • 我认为您的意思很明显,但是如果 wcm_staging 是数据库名称,则 wcm_staging.dbo.cust_id 不能是表。 Cust_id 是一个字段。您缺少表名。看看stackoverflow.com/questions/420741/…

标签: sql-server columnname


【解决方案1】:

这将列出所有数据类型的表名和列名

USE DATABASE NAME
GO
SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME='TABLE NAME'

【讨论】:

  • 这将列出所有表名 - 嗯...不是WHERE TABLE_NAME='TABLE NAME' :-D
  • @Chanukya 感谢您的帮助,它有助于获取 table_name ="test1" 的一个表的列名,但我想知道有没有办法获取所有表的列名一个特定的数据库,这个数据库有大量的表,我需要看看这些表中包含的变量,你能帮忙吗?谢谢上面的代码
  • @Chanukya,那么代码将是 Use database_name go select * from sys.columns .... without any where condition ???
  • 如果你想检查特定的表 select b.name,a.NAME,max_length,precision,scale from sys.columns A join sys.tables B on a.object_id=b.object_id跨度>
  • @Chanukya ,这是有效的,但我需要这个数据库中每个表的列名,有什么办法可以做到吗?我的意思是这个数据库下每个表中所有列的名称,以便我知道哪个表有哪些变量,非常感谢你到目前为止的帮助:)
【解决方案2】:
SELECT 
OBJECT_NAME(object_id) AS [Table Name],
name AS [Column Name]
FROM sys.columns
ORDER BY 1

【讨论】:

  • 您不认为适当的INFORMATION_SCHEMA 视图会让生活更轻松吗?
  • 问题中缺少数据库版本 :)
  • 好吧,那是真的……我这边+1
猜你喜欢
  • 2021-12-18
  • 2017-03-09
  • 1970-01-01
  • 2022-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-22
  • 2012-09-23
相关资源
最近更新 更多