MySQLはtruncateコマンドを使用してデータベース内のすべてのテーブルを素早くクリアします

MySQLはtruncateコマンドを使用してデータベース内のすべてのテーブルを素早くクリアします

1. まずSELECT文を実行して、すべての切り捨て文を生成します。

ステートメント形式:

select CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABLES where table_schema in ('データバンク1','データバンク2');

dbname という名前のデータベースを例にとり、select ステートメントを実行します。

mysql> INFORMATION_SCHEMA.TABLES から CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') を選択します。ここで、table_schema は ('dbname'); 
+--------------------------------------------------------------+ 
| CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') | 
+--------------------------------------------------------------+ 
| TABLE dbname.ABOUTUSINFO を切り捨てます。| 
| TABLE dbname.ABUTMENT を切り捨てます。| 
| TABLE dbname.ABUTMENTFILE を切り捨てます。| 
| TABLE dbname.ACHVORG を切り捨てます。| 
| TABLE dbname.WORKFLOWNODE を切り捨てます。| 
| TABLE dbname.ZONESERVICE を切り捨てます。| 
| TABLE dbname.ZONESERVICEFILE を切り捨てます。| 
+--------------------------------------------------------------+ 
7行セット 

マイSQL> 

2. 各切り捨てステートメントの前後の「|」を空白文字に置き換えます。

テキスト エディター (Notepad++ など) を使用して、各切り捨てステートメントの前後の "|" を空白文字に置き換え、複数のステートメントを一度にコピーして実行できるようにします。

交換前:

交換後:

3. truncate文をmysqlのコマンドラインにコピーして実行する

実行のために、truncate ステートメントを mysql コマンドラインにコピーします。一度に複数のステートメントをコピーして実行できます。

mysql> TABLE dbname.ZONESERVICE を切り捨てます。  
クエリは正常です。影響を受けた行は 0 行です 
マイSQL> 

これでデータベース内のすべてのテーブルがクリアされます。簡単ですよ〜

切り捨て、ドロップ、削除の比較

前述のように、truncate は delete や drop と非常によく似ています。しかし、実際には、これら 3 つの間には依然として大きな違いがあります。以下は、3 つの類似点と相違点の簡単な比較です。

  • truncate と drop は DDL ステートメントであり、実行後にロールバックすることはできません。delete は DML ステートメントであり、ロールバックできます。
  • 切り捨てはテーブルにのみ適用できますが、削除とドロップはテーブル、ビューなどに適用できます。
  • Truncate はテーブル内のすべての行をクリアしますが、テーブル構造とその制約、インデックスなどは変更されません。drop はテーブル構造とそれが依存する制約、インデックスなどを削除します。
  • 切り捨てはテーブルの自動増分値をリセットしますが、削除はリセットしません。
  • 切り捨てではテーブルに関連付けられた削除トリガーはアクティブになりませんが、削除ではアクティブになります。
  • 切り捨て後、テーブルとインデックスが占めるスペースは初期サイズに復元されます。削除操作ではテーブルまたはインデックスが占めるスペースは削減されず、drop ステートメントによってテーブルが占めるスペースがすべて解放されます。

これで、MySQL truncate コマンドを使用してデータベース内のすべてのテーブルをすばやくクリアする方法について説明したこの記事は終了です。MySQL truncate を使用してデータベース テーブルをクリアする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Navicat Premium がデータベースに接続すると、次のエラー メッセージが表示されます: 2003 ''localhost'' の MySQL サーバーに接続できません (10061)
  • Alibaba Cloud Server に MySQL データベースをインストールする詳細なチュートリアル
  • MySQL データベースのバックアップ プロセスに関する注意事項
  • IntelliJ IDEA で Java を使用して MySQL データベースに接続する方法の詳細な説明
  • MySqlは指定されたユーザーのデータベースビュークエリ権限を設定します
  • JmeterはJDBCリクエストに基づいてMySQLデータベーステストを実装します
  • MySQLデータベースに接続してデータを読み取るPythonの実装
  • PythonでMySQLデータベースを操作する
  • ローカルのMySQLをサーバーデータベースに移行する方法

<<:  静的リソースファイルのアクセスログをフィルタリングするNginxの実装

>>:  VueはPCで写真をアップロードする機能を実現

推薦する

要素フォーム検証で検証プロンプトをクリアする方法

目次問題のシナリオ:解決: 1. フィールドを個別にチェックする2. フォームフィールドの下のフィー...

bash スクリプトで ssh/scp コマンドにパスワードを渡す方法の詳細な説明

SSHPASSをインストールする最新のオペレーティング システムでは、sshpass パッケージはデ...

JTAを実装するためにAtomikosと組み合わせたTomcatについて

最近、プロジェクトは環境を切り替え、WebLogic を Tomcat に置き換えました。途中で発生...

ウェブページを作るときに知っておくべきいくつかのスキル

1. IE6 では z-index が無効です。 CSS では、階層を変更するために z-index...

MySQL マルチバージョン同時実行制御メカニズム (MVCC) ソースコードの詳細な説明

目次1. はじめに2. MVCC (マルチバージョン同時実行制御メカニズム) 2.1 繰り返し読み取...

JavaScript ファクトリーパターンの説明

目次シンプルファクトリーファクトリーメソッド安全な工場方法アブストラクトファクトリー要約するシンプル...

Vueでブラウザタイトルを動的に設定する方法の詳細な説明

目次ナンセンス文章最初ルーター/index.js 2番目1. プラグインをインストールする2.mai...

さまざまなマウスの形状を表現する方法

<a href = "http://" style = "cur...

Vueは新しいウィンドウを開き、パラメータ転送のグラフィック例を実装します。

私が実現したい機能は、新しいウィンドウを開いて新しいページを表示することですが、パラメータを渡す必要...

html2canvas で破線境界線を実装する例

html2canvas は、HTML 要素からキャンバスを生成するライブラリです。描画されるキャンバ...

WMLタグの概要

構造関連タグ--------------------------------------------...

すべてのブラウザとの完全な互換性を実現するために最適なプリセットを選択してください

各ブラウザの select タグのプロパティと各ブラウザのサポートが多少異なるため、各ブラウザでの選...

JavaScript における型の必須および暗黙的な変換の詳細な説明

目次1. 暗黙的な変換二重等号での変換ブール型変換「+」と「-」 2. 強制型変換' ...

MySQL 5.5 で範囲パーティションを追加および削除する例

導入RANGE パーティション分割は、指定された連続した間隔範囲に基づいています。RANGE の初期...

カルーセル効果を作成するためのjs

カルーセルはフロントエンド開発において比較的重要なポイントだと思います。ネイティブjsの知識ポイント...