如何获取SQL中的所有表和列名?

26 浏览
0 Comments

如何获取SQL中的所有表和列名?

我想要一个包含表名和表内列的列表(见下图)。

在模式中是否有一条SQL查询可以实现这个功能?

我知道我可以通过GUI界面查看表名和列,但手动查看太繁琐了。

0
0 Comments

如何在SQL中获取所有表和列名?

使用OBJECT CATALOG VIEWS:

SELECT T.name AS Table_Name ,
   C.name AS Column_Name ,
   P.name AS Data_Type ,
   P.max_length AS Size ,
   CAST(P.precision AS VARCHAR) + '/' + CAST(P.scale AS VARCHAR) AS Precision_Scale
FROM   sys.objects AS T
   JOIN sys.columns AS C ON T.object_id = C.object_id
   JOIN sys.types AS P ON C.system_type_id = P.system_type_id
WHERE  T.type_desc = 'USER_TABLE';

使用INFORMATION SCHEMA VIEWS:

SELECT 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;

摘自这个答案:

获取数据库中每个表和字段的列表

你有更好的解决方案吗?

我不使用squirrel,所以我没有解决方案。但是重点是不要发布一个对问题没有用处的查询作为答案,因为对于提问者来说是没有用的。

0
0 Comments

如何在SQL中获取所有表和列名?

有时候你的问题并不是很清楚,但你可以通过以下代码获取所有表和列名:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS

如果这不明显,你也可以使用INFORMATION_SCHEMA.TABLES,注意列是不同的。

0