sql >> Database teknologi >  >> RDS >> Mysql

Er det muligt at udføre en forespørgsel for hver database i mysql-databaser og summere eller kombinere resultater ved kun at bruge mysql-kommandomiljøet?

Sådan noget kan måske gøre. Jeg har ikke en masse 'hunde-med-logs' at teste dette imod, men jeg prøvede en lidt redigeret version, og den grundlæggende idé ser ud til at virke.

Byg forespørgselsstrengen op i en variabel, og brug derefter en forberedt erklæring for at udføre det.

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. ScaleGrid DigitalOcean Support til MySQL, PostgreSQL og Redis™ nu tilgængelig

  2. Wordnet sqlite synonymer og prøver

  3. Analyse af ODBC-data i IBM SPSS

  4. 8 WP-CLI-kommandoer til at rydde op og optimere dit websted