DROP データベース権限なしで MySQL データベース内のすべてのテーブルを削除するにはどうすればよいですか?

DDD
リリース: 2024-10-31 19:42:02
オリジナル
694 人が閲覧しました

How to Drop All Tables in a MySQL Database Without DROP Database Permissions?

コマンドライン経由で DROP データベース権限を使用せずに MySQL テーブルを削除する

クエリで述べたように、ユーザーにはデータベースを再作成する権限がない可能性がありますが、テーブルドロップを実行できます。これに対処するために、DROP データベース権限を持たずにすべての MySQL テーブルをコマンド ラインから直接削除するソリューションを紹介します。

解決策:

特定のテーブル内のすべてのテーブルを削除するにはデータベースでは、次のコマンド シーケンスを実行できます:

  1. 外部キー チェックを無効にする:

    SET FOREIGN_KEY_CHECKS = 0; 
    ログイン後にコピー
  2. テーブル名を 1 つの文字列に連結します。

    SET @tables = NULL;
    SELECT GROUP_CONCAT('`', table_schema, '`.`', table_name, '`') INTO @tables
      FROM information_schema.tables 
      WHERE table_schema = 'database_name'; -- Replace 'database_name' with the actual database name.
    ログイン後にコピー
  3. DROP TABLE ステートメントを作成します:

    SET @tables = CONCAT('DROP TABLE ', @tables);
    ログイン後にコピー
  4. 結合された DROP ステートメントを準備して実行します:

    PREPARE stmt FROM @tables;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
    ログイン後にコピー
  5. 外部キーのチェックを再度有効にします:

    SET FOREIGN_KEY_CHECKS = 1; 
    ログイン後にコピー

このアプローチにより、すべてのテーブルが正しい順序で削除され、外部キー制約違反が回避されます。 .

以上がDROP データベース権限なしで MySQL データベース内のすべてのテーブルを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!