How can I delete the contents of all tables in my database in phpMyAdmin without dropping the database?

后端 未结 10 1379
予麋鹿
予麋鹿 2021-02-13 03:32

How can I empty the contents of all tables in my database in phpMyAdmin without dropping any of the tables in the database?

Since I do this several times an hour while i

10条回答
  •  广开言路
    2021-02-13 03:46

    Actually, went deeper and wrote this:

    SET @command:='';
    SELECT @command:=CONCAT(@command, 'TRUNCATE TABLE ',T.TABLE_NAME,';')
    FROM INFORMATION_SCHEMA.tables T
    WHERE T.table_type = 'BASE TABLE' AND T.table_schema='YOUR_TABLE_SCHEMA';
    PREPARE bye_world FROM @command;
    EXECUTE bye_world;
    DEALLOCATE PREPARE bye_world;
    

    It selects all table names from provided schema YOUR_TABLE_SCHEMA and puts them into a @command user variable, forming a query for each one like this: TRUNCATE TABLE TABLE_NAME;

    Then i just prepare selected statement and execute it. Note, that you must declare user variable before query, or it will be 0 and mess up our statement.

    Tutorial

    Using MySQL DROP TABLE To Remove Existing Tables

提交回复
热议问题