对于各种流行的数据库系统,如何列出表中的所有列?
当前回答
例子:
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
只是我的代码
其他回答
只是对SQL Server中的其他选项做了一点小小的修正(模式前缀变得越来越重要了!):
SELECT name
FROM sys.columns
WHERE [object_id] = OBJECT_ID(N'dbo.tablename');
(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';
在MS SQL Server中调用以下代码:
sp_columns [tablename]
对于mssql Server:
select COLUMN_NAME from information_schema.columns where table_name = 'tableName'
对于MySQL,使用:
DESCRIBE name_of_table;
这也适用于Oracle,只要你使用SQL*Plus,或Oracle的SQL Developer。
推荐文章
- 在SQL server查询中将NULL替换为0
- 在SQL中修改表的模式名
- MySQL更新内部连接表查询
- 如何得到累计和
- 如何在SQL Server 2005的一条语句中更新两个表?
- 如何创建临时表与SELECT * INTO tempTable从CTE查询
- 用于查找计数为>的记录的SQL查询
- “从Table1左连接Table2”和“从Table2右连接Table1”可以互换吗?
- 根据查询结果设置用户变量
- 在SQL Server的选择语句中使用带TOP的变量,而不是动态的
- SQL变量保存整数列表
- 自然连接和内部连接的区别
- 不能删除外键约束中需要的索引
- MySQL现在()+1天
- MySQL索引的最佳实践是什么?