2011-01-18 14 views
2

大丈夫です。すべてのカラム名を取得するには、次の操作を行うことができます。mysqlはすべてのテーブル名を選択します。

SHOW COLUMNS FROM person; 

ただし、where文は使用できません。

完全なリストを取得する方法はありますか?これだけではありませんか?

だから私は基本的にこのような何かを探しています:

select (show columns from person where Field <> 'id') from person 
+0

私は上だシステムは、それは我々がのスーパー忍者の力を掘るする必要があるSQL Server 7.0を使用してのようなものです:)知っておくと便利だろうmysqlの4ない5 – David

+0

を使用しています。 – RichardTheKiwi

答えて

3

使用SHOW [FULL] COLUMNS {FROM | IN} tbl_name [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr]
例: `デフォルトはLIKE '%日本人%' をcollat​​ion`

SHOW文字セット。

More about show here

SHOW COLUMNS FROM person WHERE column != 'value';

+0

私はそのバックティックを正しくフォーマットするつもりです:-) – Axarydax

+0

列を表示してください...どこでも動作しません。少なくとも私にとっては。 – David

+0

WHERE句はWHERE欄!= '値'でなければなりません。 'SHOW COLUMNS'の出力を調べてフィールド名を確認してください。 – Timm

1

MySQL documentationは句が許可されているWHEREと言うようなものを試してみてください。ドキュメントを読む。

+0

私たちはmysql4ではなく5を使用しています。おそらくそれは設定していますが、show columnコマンドのどこで使用できないのですが、ここで質問する必要はありません。 – David

3

それとも、MySQLのについてINFORMATION_SCHEMA

select * from information_schema.columns 
where table_schema = 'test' # your db name 
and table_name = 'person ' 
and column_name != 'id' 

に対して適切なSQLクエリを使用することができ、あなたが代わりに直接http://dev.mysql.com/doc/refman/4.1/en/show-columns.html

SHOW COLUMNS FROM 'Person' LIKE '%x%' 

はしかし、残念ながら、それはサポートしていませんWHEREのLIKEを使用することができますNOT節。あなたは、PHPのようなフロントエンドプログラムからこの 必要がある場合は

あなたは、 はそれを眼球/ phpAdmin /同等 MySQLのコンソールからこの情報が必要な場合は、私が

  • を提案することができる場合は...
  • 、その環境から してください。
+0

あなたは勘違いしているように見えますが、これは正しい答えです。 –

+0

私は納得のいく音を出そうとしていませんが、使用する必要があるmysql4 dbにはinformation_schemaが存在しません。 – David

0

あなたはドキュメントがそのバージョンの唯一のオプションLIKEのパラメータを示しMySQLの4の真SHOW COLUMNS WHEREを実行することはできません。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'; 
関連する問題