假设我有一个名为myTable的表。什么是SQL命令返回此表的所有字段名称?如果答案是数据库特定的,那么我现在需要SQL Server,但也会对查看其他数据库系统的解决方案感兴趣。什么是SQL命令返回表的字段名称?
34
A
回答
54
MySQL的3和4(和5):
desc tablename
这是
show fields from tablename
SQL服务器(2000)和MySQL 5别名:
select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'tablename'
完成答案:就像下面的人都说过的,在SQL Server中你也可以使用存储过程sp_help
exec sp_help 'tablename'
1
如果你只是想列名,然后
select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'tablename'
在MS SQL Server时,在表的详细信息,如类型列,使用
sp_help 'tablename'
10
SQL -92标准定义了符合rdbms类似MS SQL Server支持的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]')
1
MySQL是一样的:
select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'tablename'
4
您可以使用所提供的系统视图来做到这一点:
如
select * from INFORMATION_SCHEMA.COLUMNS
where table_name = '[table name]'
或者,您可以使用系统进程sp_help
如
sp_help '[table name]'
2
这也是MySQL的具体:
show fields from [tablename];
,这并不只显示表名称,但它也拿出所有有关领域的信息。
0
MySQL的
describe tablename
4
对于那些寻找甲骨文的答案:
SELECT column_name FROM user_tab_columns WHERE table_name = 'TABLENAME'
4
PostgreSQL的理解
select column_name from information_schema.columns where table_name = 'myTable'
语法。如果你在psql的壳工作,你也可以使用
\d myTable
的描述(列中,其数据类型和约束)
3
只是为了完整性,因为MySQL的和Postgres已经提到:使用SQLite,用 “pragma table_info()
”
sqlite> pragma table_info('table_name');
cid name type notnull dflt_value pk
---------- ---------- ---------- ---------- ---------- ----------
0 id integer 99 1
1 name 0 0
2
在Sybase SQL Anywhere中,列和表信息分开存储,所以你需要一个连接:
select c.column_name from systabcol c
key join systab t on t.table_id=c.table_id
where t.table_name='tablename'
1
对于IBM DB2(会仔细检查这周一是肯定的。)
SELECT TABNAME,COLNAME from SYSCAT.COLUMNS where TABNAME='MYTABLE'
相关问题
- 1. 为什么要返回令牌名称?
- 2. SQL命令名称是数据库名称;使用动态SQL?
- 3. 什么是Select语句来返回表中的列名称
- 4. 如何获取字段名称是什么字段有价值?
- 5. SqlDataSourceEnumerator不返回SQL Server名称列表
- 6. 查询返回Microsoft Access中的表中的字段名称
- 7. shell中双方括号命令的名称是什么?
- 8. 发明命令名称的好方法是什么?
- 9. 什么是PowerShell 3.0中[命令]的正确名称?
- 10. PassengerDetailsRQ的名称字段中接受的字符集是什么?
- 11. 为什么这会返回SQL命令没有正确结束?
- 12. 为什么要命名返回参数?
- 13. 命令行应用程序的标准返回值是什么?
- 14. 字段名称表
- 15. 字段名称的命名规则
- 16. Symfony表单只返回令牌字段
- 17. 为什么javascript/jquery返回引号中的字体名称?
- 18. 返回函数的函数的命名约定是什么?
- 19. 什么是SQL Server的命名约定?
- 20. cakePHP find()返回字段名称而不是仅列值
- 21. 这个字段的名字是什么?
- 22. 什么是Linux文件命令的输出版本号字段
- 23. SQL总和,返回字段不是零
- 24. 为什么“返回姓名”是空的?
- 25. tmux运行命令 - “返回126”,这是什么意思?
- 26. 按定义MYSQL命令是做什么*不*返回结果?
- 27. 为什么“vmc services”命令只返回一个表?
- 28. 检查返回的SQL命令在C#
- 29. 我的表单的名称是什么
- 30. 在geokettle中重命名字段名称
信息模式在SQL Server 2000是可用的。 – Martynnw 2008-09-19 08:46:49