Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để xác định một cột với sự tồn tại của nó trong tất cả các bảng với MySQL?

Để xác định tên cột, hãy sử dụng INFORMATION_SCHEMA.COLUMNS trong MySQL. Đây là cú pháp -

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

Hãy để chúng tôi triển khai truy vấn trên để xác định một cột có tồn tại trong tất cả các bảng. Ở đây, chúng tôi đang tìm thấy sự tồn tại của cột EmployeeAge -

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

Điều này sẽ tạo ra kết quả sau hiển thị các bảng có cột cụ thể “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)

Để chứng minh, chúng ta hãy kiểm tra mô tả của bất kỳ bảng nào ở trên -

mysql> desc demotable1153;

Điều này sẽ tạo ra kết quả sau hiển thị sự tồn tại của cột EmployeeAge trong 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)