Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah mungkin untuk mengeksekusi kueri untuk setiap database di database mysql dan menjumlahkan atau menggabungkan hasil hanya menggunakan lingkungan perintah mysql?

Sesuatu seperti ini mungkin bisa. Saya tidak punya banyak 'anjing-dengan-log' untuk menguji ini, tetapi saya mencoba versi yang sedikit diedit, dan ide dasarnya tampaknya berhasil.

Buat string kueri dalam sebuah variabel, lalu gunakan pernyataan yang disiapkan untuk mengeksekusinya.

SELECT @query:=CONCAT(
      'select count(*) from ('
    , GROUP_CONCAT( CONCAT( y.prefix, x.table_schema, y.postfix ) SEPARATOR ' UNION ALL ' )
    , ') as total_count' )
FROM (
    SELECT  DISTINCT table_schema
    FROM    information_schema.tables
    WHERE   table_schema LIKE '%dog%'
    ) AS x
JOIN (
    SELECT
          'select * from '        AS prefix
        , '.log where insane = 1' AS postfix 
    ) AS y
;

-- SELECT @query AS Query;

PREPARE STMT FROM @query;
EXECUTE STMT;
DEALLOCATE PREPARE STMT;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Typo3 V6:Bagaimana cara membuat wadah elemen konten? (tanpa televisi)

  2. Kesalahan MySQL 1118 (Ukuran baris terlalu besar) saat memulihkan basis data Django-mailer

  3. Praktik Terbaik Replikasi MySQL

  4. Spark SQL/Hive Query Membutuhkan Selamanya Dengan Bergabung

  5. Cara memperbaiki tampilan SQL yang rusak