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

推薦する

Debian Dockerコンテナにcrontabスケジュールタスクを追加する

現在、DockerイメージのほとんどはDebianベースです # cat /etc/issue De...

WEB中国語フォントアプリケーションガイド

Web 上でフォントを使用することは、基本的なスキルであると同時に芸術でもあります。英語のフォントに...

Linux viコマンドの知識ポイントと使い方のまとめ

Linux viコマンドの詳しい説明vi エディタは、すべての Unix および Linux システ...

Linux で PHP を 5.6 にアップグレードする実用的な方法

1: ターミナルに入ったらPHPのバージョンを確認する php -v出力は次のようになります。 PH...

MySQL 外部キー制約の例の説明

MySQL の外部キー制約は、2 つのテーブル間のリンクを確立するために使用されます。 1 つのテー...

404エラーページを作成する際に注意すべき問題の簡単な分析

ウェブサイトを最適化するときは、エラー ページの使い方を学ぶ必要があります。たとえば、ウェブサイトに...

さまざまなブラウザでのhrタグの説明

通常、人事担当者と会うことはめったにありませんが、一度会うと、それが生死を分けることもあります。 H...

mysql5.7.19 解凍版の詳細なインストール チュートリアル (純粋なクラックされた中国語版 SQLYog を使用)

Mysql5.7.19バージョンは今年リリースされた新しいバージョンです。最近のMySQLのバージ...

MySQL 同期遅延が発生したときに Seconds_Behind_Master が 0 のままになる理由

目次問題の説明原理分析問題分析拡大する総括する問題の説明ユーザーはプライマリ データベースに対して変...

CSS クロスフェード() を使用して半透明の背景画像効果を実現するサンプルコード

1. 要件の説明特定の要素については、背景background-imageを半透明にしたいが、テキス...

HTML独習の旅(I)基本要素と属性の練習(自分でコードを書く)

私は W3school のチュートリアルに従いました。チュートリアルはとても良いと思います。各セクシ...

webpackの遅延読み込みとプリロードの詳細な説明

目次通常の読み込み遅延読み込みプリロードプリロードを使用しないプリロードの使用要約する通常の読み込み...

新しい ECMAscript オブジェクト機能の紹介

目次1. オブジェクトのプロパティ1.1 属性表記2. プロパティ名を計算する3.オブジェクトメソッ...

Promise カプセル化 wx.request メソッド

前回の記事では、Promise を使用して小さなプログラム wx.request をカプセル化する実...

シェルスクリプト nginx 自動化スクリプト

このスクリプトは、nginxの起動、停止、再起動の操作を満たすことができます。 #!/bin/bas...