Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL을 사용하여 모든 테이블에 존재하는 열을 식별하는 방법은 무엇입니까?

<시간/>

열 이름을 식별하려면 MySQL에서 INFORMATION_SCHEMA.COLUMNS를 사용하십시오. 다음은 구문입니다 -

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

모든 테이블에 존재하는 열을 식별하기 위해 위의 쿼리를 구현해 보겠습니다. 여기에서 EmployeeAge −

열의 존재를 찾습니다.
mysql> select table_name,column_name
   FROM INFORMATION_SCHEMA.COLUMNS
   WHERE table_schema = SCHEMA()
   AND column_name='EmployeeAge';

이렇게 하면 특정 열이 "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)

증명하기 위해 위의 표에 대한 설명을 확인해 보겠습니다. -

mysql> desc demotable1153;

이것은 demotable1153 −

에 EmployeeAge 열의 존재를 표시하는 다음 출력을 생성합니다.
+--------------+-------------+------+-----+---------+----------------+
| 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)