sql >> データベース >  >> RDS >> Mysql

データベース内の各テーブルにmysqlクエリを適用します

    select sum(table_rows) as total_rows
    from information_schema.tables
    where table_schema = 'your_db_name'
    

    これは単なる概算値であることに注意してください

    すべてのテーブルの内容を削除するには、次のようにします

    select concat('truncate ',table_name,';')
    from information_schema.tables
    where table_schema = 'your_db_name'
    

    次に、このクエリの出力を実行します。

    更新。

    これは、truncate tableを適用するためのストアドプロシージャです。 特定のデータベース内のすべてのテーブルに

    delimiter //
    drop procedure if exists delete_contents //
    create procedure delete_contents (in db_name varchar(100))
    begin
    declare finish int default 0;
    declare tab varchar(100);
    declare cur_tables cursor for select table_name from information_schema.tables where table_schema = db_name and table_type = 'base table';
    declare continue handler for not found set finish = 1;
    open cur_tables;
    my_loop:loop
    fetch cur_tables into tab;
    if finish = 1 then
    leave my_loop;
    end if;
    
    set @str = concat('truncate ', tab);
    prepare stmt from @str;
    execute stmt;
    deallocate prepare stmt;
    end loop;
    close cur_tables;
    end; //
    delimiter ;
    
    call delete_contents('your_db_name');
    


    1. MySQLでランクを計算する方法

    2. Django-DB-移行:保留中のトリガーイベントがあるため、テーブルを変更できません

    3. Neo4j-Cypherを使用してMATCHでデータを選択する

    4. MySQL now()タイムゾーンを変更