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

MySQL:hvordan dropper man flere tabeller ved hjælp af en enkelt forespørgsel?

Jeg har brugt en forespørgsel, der ligner Angelins. Hvis du har mere end et par tabeller, skal man øge den maksimale længde af group_concat . Ellers vil forespørgslen spærre på den trunkerede streng, der group_concat vender tilbage.

Dette er mine 10 cents:

-- Increase memory to avoid truncating string, adjust according to your needs
SET group_concat_max_len = 1024 * 1024 * 10;
-- Generate drop command and assign to variable
SELECT CONCAT('DROP TABLE ',GROUP_CONCAT(CONCAT(table_schema,'.',table_name)),';') INTO @dropcmd FROM information_schema.tables WHERE table_schema='databasename' AND table_name LIKE 'my_table%';
-- Drop tables
PREPARE str FROM @dropcmd; EXECUTE str; DEALLOCATE PREPARE str;


  1. Sådan konverteres decimal til hexadecimal ved hjælp af TO_CHAR() i Oracle

  2. Er databaseudløsere sikre for integritetsbegrænsninger på tværs af tabel?

  3. Hvordan opretter man forbindelse til ekstern Oracle DB med PL/SQL-udvikler?

  4. Får NoSuchMethodError:javax.persistence.Table.indexes() under udførelse af JPA-forespørgsel