Maison  >  Article  >  base de données  >  Comment MySQL identifie-t-il si une certaine colonne existe dans toutes les tables ?

Comment MySQL identifie-t-il si une certaine colonne existe dans toutes les tables ?

王林
王林avant
2023-09-01 22:57:03879parcourir

Comment MySQL identifie-t-il si une certaine colonne existe dans toutes les tables ?

Pour identifier les noms de colonnes, utilisez INFORMATION_SCHEMA.COLUMNS dans MySQL. Voici la syntaxe -

select table_name,column_name
from INFORMATION_SCHEMA.COLUMNS
where table_schema = SCHEMA()
andcolumn_name='anyColumnName';

Implémentons la requête ci-dessus afin d'identifier une colonne avec son existence dans toutes les tables. Ici, nous trouvons l'existence de la colonne EmployeeAge −

mysql> select table_name,column_name
   FROM INFORMATION_SCHEMA.COLUMNS
   WHERE table_schema = SCHEMA()
   AND column_name='EmployeeAge';

Cela produira la sortie suivante affichant les tables. avec la colonne spécifique "EmployeeAge" −

+---------------+-------------+
| TABLE_NAME    | COLUMN_NAME |
+---------------+-------------+
| demotable1153 | EmployeeAge |
| demotable1297 | EmployeeAge |
| demotable1303 | EmployeeAge |
| demotable1328 | EmployeeAge |
| demotable1378 | EmployeeAge |
| demotable1530 | EmployeeAge |
| demotable1559 | EmployeeAge |
| demotable1586 | EmployeeAge |
| demotable1798 | EmployeeAge |
| demotable1901 | EmployeeAge |
| demotable511  | EmployeeAge |
| demotable912  | EmployeeAge |
+---------------+-------------+
12 rows in set (0.00 sec)

Pour le prouver, vérifions la description de l'une des tables ci-dessus −

mysql> desc demotable1153;

Cela produira le résultat suivant montrant la présence de la colonne EmployeeAge dans demotable1153 −

+--------------+-------------+------+-----+---------+----------------+
| Field        | Type        | Null | Key | Default | Extra          |
+--------------+-------------+------+-----+---------+----------------+
| EmployeeId   | int(11)     | NO   | PRI | NULL    | auto_increment |
| EmployeeName | varchar(40) | YES  | MUL | NULL    |                |
| EmployeeAge  | int(11)     | YES  |     | NULL    |                |
+--------------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer