假设我有一个名为myTable的表.返回此表的所有字段名称的SQL命令是什么?如果答案是特定于数据库的,那么我现在需要SQL Server,但是也有兴趣看到其他数据库系统的解决方案.
MySQL 3和4(和5):
desc tablename
这是别名
show fields from tablename
SQL Server(从2000年开始)和MySQL 5:
select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'tablename'
完成答案:像下面的人一样说,在SQL Server中你也可以使用存储过程 sp_help
exec sp_help 'tablename'
SQL-92标准定义了符合MS SQL Server支持的rdbms符合的INFORMATION_SCHEMA.以下适用于MS SQL Server 2000/2005/2008和MySql 5及更高版本
select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'myTable'
MS SQl Server特定:
exec sp_help 'myTable'
此解决方案返回多个结果集,其中包含您需要的信息,前者为您提供所需的信息.
同样只是为了完整性,您可以直接查询sys表.建议不要这样做,因为架构可以在SQL Server版本之间更改,而INFORMATION_SCHEMA是这些表之上的抽象层.但无论如何它对SQL Server 2000来说都是如此
select [name] from dbo.syscolumns where id = object_id(N'[dbo].[myTable]')