web-dev-qa-db-fra.com

requête mysql "SHOW COLUMNS FROM table comme 'colmunname'": questions

J'ai une question à propos de SHOW COLUMNS FROM table like 'column name'". J'ai déjà essayé quelques tests depuis quelques temps, il semble être semblable à "où column name='column'

Cependant, je voudrais juste confirmer Merci beaucoup d'avance. 

Aussi, j'aimerais dire, pourquoi je ne peux pas utiliser SHOW COLUMNS FROM table = 'columnname'?

10
martinwang1985

C'est plus comme

WHERE column_name LIKE 'column name'

Comme il utilise LIKE, vous pouvez insérer des modèles génériques dans le paramètre, par exemple.

SHOW COLUMNS FROM table LIKE '%id'

trouvera toutes les colonnes se terminant par id.

S'il n'y a pas de caractères génériques, alors LIKE est équivalent à =.

Si vous ne voulez pas utiliser LIKE, vous pouvez utiliser WHERE:

SHOW COLUMNS FROM table WHERE field = 'column name';

Dans la sortie SHOW COLUMNS, la colonne field contient les noms de colonne. La clause WHERE permet également de tester d'autres attributs, par exemple.

SHOW COLUMNS FROM table WHERE type LIKE 'varchar%'

trouvera toutes les colonnes VARCHAR.

14
Barmar

SHOW ... LIKE se comporte comme l'utilisation de l'opérateur LIKE dans la clause WHERE d'une requête commune:

MONTRER LES COLONNES Syntaxe

MONTRER [PLEIN] COLONNES {DE | IN} nom_table [{FROM | IN} nom_base] [LIKE 'pattern' | O expr expr] 

SHOW COLUMNS affiche des informations sur les colonnes d'une table donnée. Cela fonctionne aussi pour les vues. Le semblable La clause, si présente, indique les noms de colonne à rechercher. Le OERE Une clause peut être utilisée pour sélectionner des lignes en utilisant des conditions plus générales, telles que discuté dans Section 21.32, «Extensions aux instructions SHOW».

L'accent mis par moi.

0
VMai

peut-être ceci: MONTRER LES COLONNES DES COMPTES LIKE'id '

0
ilgam

Où est utilisé pour obtenir une correspondance exacte, où comme pour obtenir un plus grand nombre de colonnes utilisant des caractères génériques.

SHOW COLUMNS FROM table like 'my%";

Ce qui précède trouvera toutes les colonnes commençant par my .

Où, comme avec une clause where, vous ne pouvez pas utiliser de caractères génériques et ne récupérerez que les correspondances exactes . Évidemment, vous pouvez utiliser où avec between, > ou < etc. des wildcards. 

0
Varun Nath