Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySql chọn tất cả các bảng có nhiều cột cụ thể

Đây là phiên bản nhanh hơn:

SELECT TABLE_NAME 
      FROM INFORMATION_SCHEMA.COLUMNS
      WHERE COLUMN_NAME IN ('columnA','columnB','columnC')
group by TABLE_NAME
having count(distinct COLUMN_NAME) = 3 

Trong truy vấn trên có số đếm sẽ không có. trong số các cột được chỉ định trong IN cụm từ.

hoặc thử làm theo (nhưng nó sẽ tạo ra thảm họa cho rất nhiều cột. Vì vậy, hãy tránh nó)

SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME IN 
( SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'columnA' )
and TABLE_NAME in 
( SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'columnB')
and TABLE_NAME in 
( SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'columnC')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt và hạn chế động của chuỗi PHP

  2. Tôi có thể kết hợp các API MySQL trong PHP không?

  3. Có an toàn để lưu trữ ngày tháng dưới dạng một chuỗi trong mysql không?

  4. Làm cách nào để kết nối từ một nhóm các bản sao Google Compute Engine với Cloud SQL DB trong cùng một dự án?

  5. PDO là gì, nó liên quan như thế nào với SQL injection và tại sao tôi nên sử dụng cái này?