好吧,我知道你可以通过以下操作获取所有的列名。mysql选择除
SHOW COLUMNS FROM person;
但是,它不允许where语句。
有什么办法可以得到完整列表,只是不说这个吗?
所以我基本上是在寻找这样的事情:
select (show columns from person where Field <> 'id') from person
好吧,我知道你可以通过以下操作获取所有的列名。mysql选择除
SHOW COLUMNS FROM person;
但是,它不允许where语句。
有什么办法可以得到完整列表,只是不说这个吗?
所以我基本上是在寻找这样的事情:
select (show columns from person where Field <> 'id') from person
使用SHOW [FULL] COLUMNS {FROM | IN} tbl_name [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr]
例子:
SHOW CHARACTER SET WHERE`默认collation` LIKE '%日本人%';
试着这么做SHOW COLUMNS FROM person WHERE column != 'value';
MySQL documentation说WHERE子句是允许的。阅读文档。
或者你也可以对INFORMATION_SCHEMA
select * from information_schema.columns
where table_schema = 'test' # your db name
and table_name = 'person '
and column_name != 'id'
正确使用SQL查询对于MySQL ,您可以像使用,而不是直接的WHERE http://dev.mysql.com/doc/refman/4.1/en/show-columns.html
SHOW COLUMNS FROM 'Person' LIKE '%x%'
然而不幸的是,不支持NOT条款。
如果我可以建议
在MySQL 4.您不能执行真正的SHOW COLUMNS WHERE
该文档仅显示一个可选LIKE
参数,该版本:http://dev.mysql.com/doc/refman/4.1/en/show-columns.html
但是,您可以使用元数据库INFORMATION_SCHEMA。
USE information_schema;
SELECT * FROM `COLUMNS` WHERE `TABLE_NAME` = 'person' AND `COLUMN_NAME` != 'value';
我上用mysql 4不5. – David 2011-01-19 13:40:05
这将是知道:)它就像使用SQL Server 7.0,我们需要挖掘出超级忍者权力有用的系统。 – RichardTheKiwi 2011-01-19 18:51:17