sql >> Databasteknik >  >> RDS >> Mysql

MySQL:hur släpper man flera tabeller med en enda fråga?

Jag har använt en fråga som liknar Angelins. Om du har fler än ett fåtal tabeller måste man öka maxlängden för group_concat . Annars kommer frågan barf på den trunkerade strängen som group_concat returnerar.

Det här är mina 10 cent:

-- 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. Arbeta med SQL-markörer

  2. Initiera MariaDB 10.4.12 på CentOS 7.7

  3. Få innehållet i docx-filen som sparats i mysql dabase som blob-typ i php

  4. Hur ställer jag in en anslutningssträng för en MySQL-databas i ett C#-projekt utan att använda dialogrutor?