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で写真をアップロードする機能を実現

推薦する

VMware での Ubuntu 16.04 イメージの完全インストール チュートリアル

この記事では、VMware 12でのUbuntu 16.04イメージのインストールチュートリアルを参...

ページを更新せずにフォームを送信するには iframe を使用します

そこで、この問題を解決するために埋め込みフレームワークを導入します。具体的な原則は、フォームがデータ...

Linux ブートシステム方式の分析

この記事では、Linux システムを起動する方法について説明します。ご参考までに、詳細は以下の通りで...

HTML テーブル マークアップ チュートリアル (15): テーブル タイトル

<br />このタグを使用すると、表のタイトルを直接追加し、タイトル テキストの配置プロ...

英語の単語の出現頻度を数えるtrコマンドの魔法

置換を削除したり文字列を削除したりできる tr コマンドは、誰もがよく知っています。 英語では、英語...

MySQL で珍しい文字を挿入できないときの対処方法 (文字列値が正しくない)

最近、ビジネス側から、一部のユーザー情報の挿入に失敗し、エラー メッセージが「不正な文字列値:&qu...

初心者向けのHTMLタグネストルールの詳細なまとめ

最近、HTML を再度学習しており、これは HTML に対する新たな理解と言えます。これを過小評価し...

ログインボックスのメールプロンプトを実装するネイティブJS

この記事では、登録またはログイン時に電子メール アドレスを入力する際のドロップダウン プロンプトのネ...

JavaScript Promise の徹底解説

目次1. Promise とは何ですか? 2. なぜ Promise が存在するのでしょうか? 3つ...

Linux CentOS 6.5 のアンインストール、tar、および MySQL のインストールチュートリアル

システム提供のMySQLをアンインストールする1. MySQLがシステムにインストールされているかど...

Linux でプロセスを効果的に管理するための 8 つのコマンド

序文プロセス管理の役割:サーバーの健全性状態を判定する: プロセスの状態 (メモリ、CPU 占有率な...

8桁の割引コードをランダムに生成し、MySQLデータベースに保存します。

現在、多くの企業が割引コードを通じてプロモーションを行っています。今では、8桁の割引コードを実装して...

JS の精度外数値問題の解決

精度の問題に対する最もわかりやすい説明たとえば、1÷3=0.33333333...という数字は、3が...

Mysqlのインポートとエクスポート時に発生する問題の解決

背景すべての業務を Docker の運用管理に移行してから、一連の落とし穴に遭遇しましたが、今回は ...

ウェブサイトのテキストはまだデザインする必要がありますか?

多くの人が、ウェブサイト上のテキストはデザインする必要があるのか​​と疑問に思うかもしれません。多く...