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

Lấy tất cả các bảng từ cơ sở dữ liệu MySQL có một cột cụ thể, giả sử xyz?

Giả sử chúng ta có một cơ sở dữ liệu "web" và chúng ta cần nhận được tất cả các bảng có một cột cụ thể "StudentFirstName".

Đối với điều này, dưới đây là truy vấn -

mysql> select myColumnName.table_name from
information_schema.columns myColumnName
where myColumnName.column_name = 'StudentFirstName' and table_schema='web';

Điều này sẽ tạo ra kết quả sau -

+---------------+
| TABLE_NAME    |
+---------------+
| demotable109  |
| demotable297  |
| demotable335  |
| demotable395  |
| demotable418  |
| demotable425  |
| demotable436  |
+---------------+
7 rows in set (0.14 sec)

Do đó, các bảng trên có một trong các tên cột là “StudentFirstName”.

Hãy để chúng tôi kiểm tra mô tả của bất kỳ bảng nào để tìm tên cột ‘StudentFirstName’ -

mysql> desc demotable297;

Điều này sẽ tạo ra kết quả sau hiển thị một trong các tên cột là “StudentFirstName” -

+------------------+--------------+------+-----+---------+-------+
| Field            | Type         | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| StudentId        | int(11)      | YES  |     | NULL    |       |
| StudentFirstName | varchar(100) | YES  |     | NULL    |       |
| StudentLastName  | varchar(100) | YES  |     | NULL    |       |
+------------------+--------------+------+-----+---------+-------+
3 rows in set (0.01 sec)