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

推薦する

MySQL 8.0.12 のインストールと設定方法のグラフィック チュートリアル (Windows10)

この記事は、参考のためにMySQL 8.0.12のインストールグラフィックチュートリアルを記録してい...

Vueバックグラウンド管理に多言語機能を追加する例

目次1.まず、main.jsページを設定します2. 対応するパスの下で言語パックを構成します。ここに...

MySQL 8.0.11 の新機能の紹介

MySQL 8.0 for Windows v8.0.11 公式無料バージョン 64 ビット1. デ...

Vmware + Ubuntu18.04 に Hbase 2.3.5 をインストールするための詳細なチュートリアル

序文前回の記事では Hadoop をインストールしましたが、今回は Hbase をインストールします...

CSS フォントの新しい使い方: カラーフォントの実装

デザイナーが特別なイベントのタイトルフォントとして以下のフォントを使用したい場合はどうすればよいでし...

Linux がますます人気になっている 10 の理由

Linux はますます多くのユーザーに愛されてきました。なぜ Linux はこれほど急速に発展し、い...

CentOS8でルートパスワードを素早く変更する方法

Centos8仮想マシンを起動し、上下キーを押して図1のインターフェースの最初の行を選択します。図1...

CSS ピクセルとさまざまなモバイル画面適応の問題に対する解決策

ピクセル解決通常、モニター解像度と呼ばれるものは、実際にはモニターの物理的な解像度ではなく、デスクト...

HTMLのタグと要素の違いの詳細な説明

ウェブページに慣れていない友人の多くは私と同じように、HTML で要素、タグ、属性がどのように定義さ...

FileZilla を使用して FTP ファイル サービスを素早く構築する方法

ファイルの保存とアクセスを容易にするために、FTPサービスが特別に構築されています。 FTP サーバ...

InnoDB エンジンの redo ファイルのメンテナンス方法

InnoDB REDO ログ ファイルのサイズと数を調整する場合は、次の手順に従います。 1. My...

MySQL 入門 - 概念

1. それは何ですか? MySQL は最も人気のあるリレーショナル データベース管理システムです。W...

MySQL 5.0.96 for Windows x86 32 ビット グリーン簡易版インストール チュートリアル

MySQL 5.0 は、いくつかの「高度な機能」があるため定番となっています。これは、Windows...

CentOS6.9+Mysql5.7.18 ソースコードのインストール詳細チュートリアル

CentOS6.9+Mysql5.7.18 ソースコードのインストールでは、以下の操作を root ...

Vueでスケルトンスクリーンを実装する例

目次スケルトンスクリーンの使用Vueアーキテクチャスケルトンスクリーンアイデアの概要抽象コンポーネン...