如何在mysql中选择没有PRIMARY键的所有列?

时间:2014-10-24 15:08:36

标签: mysql sql

我将列出除mysql中的PRIMARY键之外的表的所有列。 注意:操作是自动的,所以我不知道字段的名称。 你可以帮我做这个查询吗?

1 个答案:

答案 0 :(得分:0)

如果您打算使用任何长度的数据库,这是值得做一些研究的事情。

到目前为止,我使用的所有DBMS都有一种查看约束,列和表信息的方法。 MySQL中的那些可以帮助你做你想做的事可能在INFORMATION_SCHEMA:

TABLE_CONSTRAINTS MySQL参考文献是here

SELECT table_name, constraint_name, constraint_type FROM INFORMATION_SCHEMA.table_constraints;

COLUMNS MySQL的参考文献是here.

SELECT column_name FROM INFORMATION_SCHEMA.columns;

KEY_COLUMN_USAGE

你应该可以做这样的事情来获得你想要的东西:

SELECT INFORMATION_SCHEMA.key_column_usage.column_name 
FROM INFORMATION_SCHEMA.key_column_usage
JOIN INFORMATION_SCHEMA.table_constraints 
ON INFORMATION_SCHEMA.key_column_usage.column_name = INFORMATION_SCHEMA.table_constraints.column_name
WHERE INFORMATION_SCHEMA.table_constraints.constraint_type <> 'PRIMARY KEY'

应该基本上是你需要的。当需要获取有关模式的信息时,这些视图/表可能是您最好的朋友。

我希望这些信息有所帮助。