SQL 列举字段,你想列举一个表的列(即字段),以及它们的数据类型和在表中的位置。
SQL 列举字段 问题描述
你想列举一个表的列(即字段),以及它们的数据类型和在表中的位置。
SQL 列举字段 解决方案
下面的解决方案假设你希望列出 SMEAGOL 模式里的 EMP
表的各列,以及其数据类型和位置序号。
DB2
查询 SYSCAT.COLUMNS
。
1 select colname, typename, colno
2 from syscat.columns
3 where tabname = 'EMP'
4 and tabschema = 'SMEAGOL'
Oracle
查询 ALL_TAB_COLUMNS
。
1 select column_name, data_type, column_id
2 from all_tab_columns
3 where owner = 'SMEAGOL'
4 and table_name = 'EMP'
PostgreSQL、MySQL 和 SQL Server
查询 INFORMATION_SCHEMA.COLUMNS
。
1 select column_name, data_type, ordinal_position
2 from information_schema.columns
3 where table_schema = 'SMEAGOL'
4 and table_name = 'EMP'
SQL 列举字段 扩展知识
每一种数据库都提供了获取详细的列数据的方法。在本实例中,查询只返回了列名、数据类型和位置序号。除此之外,其他有用的信息还包括列长度、能否为 Null
以及默认值。