Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy możliwe jest wykonanie zapytania dla każdej bazy w bazach mysql i sumowanie lub łączenie wyników przy użyciu tylko środowiska poleceń mysql?

Coś takiego może wystarczyć. Nie mam wielu „psów-z-logami”, aby to przetestować, ale wypróbowałem nieco zredagowaną wersję i podstawowy pomysł wydaje się działać.

Utwórz ciąg zapytania w zmiennej, a następnie użyj przygotowanej instrukcji aby go wykonać.

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. #1075 - Nieprawidłowa definicja tabeli; może istnieć tylko jedna kolumna auto i musi być zdefiniowana jako klucz

  2. Błędy podczas tworzenia funkcji przechowywanych w MySQL BŁĄD 1064 i 1327

  3. Jak uciec % w zapytaniu przy użyciu funkcji execute() i pymysql pythona sqlalchemy?

  4. SQL Inner Join – Jak połączyć 3 tabele w SQL i MySQL

  5. SQL otrzymuje ostatnie wiadomości od/do określonego użytkownika