对于各种流行的数据库系统,如何列出表中的所有列?
当前回答
(5年后,为了王国最先进的DDBB PostgreSQL的荣誉)
在PostgreSQL:
\d table_name
或者,使用SQL:
select column_name, data_type, character_maximum_length
from INFORMATION_SCHEMA.COLUMNS
where table_name = 'table_name';
其他回答
对于mssql Server:
select COLUMN_NAME from information_schema.columns where table_name = 'tableName'
例子:
select Table_name as [Table] , column_name as [Column] , Table_catalog as [Database], table_schema as [Schema] from information_schema.columns
where table_schema = 'dbo'
order by Table_name,COLUMN_NAME
只是我的代码
Oracle (PL/SQL)
SELECT column_name
FROM user_tab_cols
WHERE table_name = 'myTableName'
MySQL
SHOW COLUMNS FROM table_name
SQL Server
使用实例列出数据库中所有用户定义的表。
use [databasename]
select name from sysobjects where type = 'u'
列出一个表的所有列:
use [databasename]
select name from syscolumns where id=object_id('tablename')
SQL Server
SELECT
c.name
FROM
sys.objects o
INNER JOIN
sys.columns c
ON
c.object_id = o.object_id
AND o.name = 'Table_Name'
or
SELECT
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'Table_Name'
第二种方法是ANSI标准,因此应该适用于所有符合ANSI标准的数据库。
推荐文章
- 导入大型sql文件时,MySQL服务器已经消失
- 错误,字符串或二进制数据将被截断时试图插入
- ON [PRIMARY]是什么意思?
- 如何解释数据库中数字的精度和规模?
- 使SQL Server数据库脱机时的极端等待时间
- 按两列排列MySQL表
- 如何比较日期在datetime字段在Postgresql?
- 如何从我的MySQL表删除约束?
- 为什么认为SELECT *有害?
- 插入语句与外键约束冲突- SQL Server
- Android中使用的SQLite版本?
- 如何从日期时间列选择日期?
- 我如何列出一个表中的所有列?
- 如何列出表外键
- 如何从TSQL datetime字段获得YYYY-MM-DD格式的日期?