MySQL にテーブルが存在するかどうかを確認し、それを一括で削除する方法

MySQL にテーブルが存在するかどうかを確認し、それを一括で削除する方法

1. インターネットで長時間検索しましたが、判定表が存在するかどうかがわからなかったので、漠然と削除しました。しかし結局、私たちは国を救うための回り道を見つけました。

要件: 削除するサフィックス _ を持つテーブルを削除します。

1. 最初のステップは、そのようなテーブルをすべて見つけて、テーブルを削除するためのSQLを組み立てることです。

CONCAT( 'DROP TABLE IF EXISTS ', table_name, ';' ) を選択します。 
information_schema.tables から 
table_name が '%_to be removed' のように指定されている場合;

実行結果

2. ステップ 2: 削除ステートメントを 1 つずつ実行します。能力があれば、何かを実行するスクリプトを作成することもできます。

3. SQL解析

3-1: concat 文字列連結

3-2: DROP TABLE IF EXISTS equi_accp_info__削除対象; -- このテーブルが存在するかどうかを確認し、存在する場合は削除します

補足知識: mysqlはテーブルフィールドが存在するかどうかを判断し、それを変更します

余計なことは言わないで、コードだけ見てみましょう〜

-- vrv_paw_rule テーブルに thresholdMin フィールドが存在するかどうかを確認します。存在しない場合は追加します。存在する場合は、フィールド タイプ DELIMITER を変更します。
schema_change が存在する場合はプロシージャを削除しますか?
CREATE PROCEDURE schema_change()
始める
存在しない場合 (information_schema.columns から * を選択、table_schema = DATABASE()、table_name = 'vrv_paw_rule'、column_name = 'thresholdMin')
  ALTER TABLE vrv_paw_rule に列 thresholdMin BIGINT を追加します。
それ以外  
  ALTER TABLE vrv_paw_rule MODIFY COLUMN thresholdMin BIGINT;
終了の場合; 
終わり??
区切り文字 ;

schema_change() を呼び出します。

区切りコマンド:

これは、コマンドが終了したかどうか、および MySQL がそれを実行できるかどうか (つまり、入力ターミネータを変更できるかどうか) を MySQL インタープリターに通知します。

デフォルトでは、区切り文字はセミコロン「;」です。

コマンドラインクライアントでは、コマンド行がセミコロンで終わる場合、

その後、Enter キーを押すと、MySQL はコマンドを実行します。

しかし、場合によっては、MySQL でこれを実行したくないことがあります。より多くのステートメントを入力する可能性があり、ステートメントにセミコロンが含まれる可能性があるためです。

デフォルトでは、ユーザーがすべてのステートメントを入力するまで待ってからステートメント全体を実行することはできません。

mysql はセミコロンに遭遇すると自動的に実行されるためです。

この場合、区切り文字を使用して、区切り文字を // や $$ などの他の記号に置き換えることができます。

このとき、区切り文字の役割は、小さなステートメント全体を単純にカプセル化することです。

このコマンドは主に、サブルーチン、トリガー プログラム、およびその他の MySQL 組み込みプログラムを定義するために使用されます。

MySQLでテーブルが存在するかどうかを判断し、バッチで削除する上記の操作は、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL でデータを削除してもテーブル ファイルのサイズが変更されないのはなぜですか?
  • MySQL でテーブルを削除する 3 つの方法 (要約)
  • MySQL で重複レコードを見つけて削除する方法
  • MySQL で大量のデータ (数千万) を素早く削除するためのいくつかの実用的なソリューションの詳細な説明
  • MySQLサービスを削除する具体的な方法
  • MySQL の重複データの処理方法 (防止と削除)
  • MySQL データベース操作 (作成、選択、削除)
  • Windows で削除された MySQL 8.0.17 のルート アカウントとパスワードを回復する方法
  • Linux で MySQL 8.0 サービスを完全に削除する方法
  • MySQL テーブル削除操作の実装 (delete、truncate、drop の違い)
  • MySQL で削除されたレコードが有効にならない理由のトラブルシューティング

<<:  EclipseでTomcatを作成する原理の詳細な説明

>>:  スネークゲームのアイデアを実現するためのJavaScript

推薦する

Vuexはシンプルなショッピングカートを実装します

この記事では、参考までに、Vuex の具体的なコードを共有して、簡単なショッピングカートを実装します...

Nginx10m+の高並列カーネル最適化に関する簡単な説明

高い同時実行性とは何ですか?デフォルトの Linux カーネル パラメータは、最も一般的なシナリオ向...

Vue のドロップダウン ボックスのセカンダリ リンク効果を実装するためのサンプル コード

1. 成果を達成する 2. バックエンドから返されるデータ形式 「リスト」: [ { "i...

Doubanウェブサイトのウェブサイトコンテンツに小さな変更を加える方法

<br />読みやすさはウェブサイトにとって非常に重要な部分であり、ウェブサイトの核心と...

Linux のハードリンクとソフトリンクの区別

Linux には、2 種類のファイル接続があります。1 つは Windows のショートカットに似て...

VueにおけるAxios非同期通信の詳細な説明

1. まず、インタラクティブに使用するための .json ファイルを作成します。json データ形式...

ニューススタイルのウェブサイトデザイン例25選

bmi ボイジャーピッチフォークアルスター食料品店チャウ真/斜めポスタこれは偽のDIYですクリエイテ...

CSS 使用のヒントのまとめ

最近、ブログのアップグレードを始めました。テンプレートを変更する過程で、CSS スタイルシートを書き...

IE のテキストモード! DOCTYPE の役割の紹介

前の記事で説明したフォームの自動入力の問題を解決した後、新しい問題が発生しました。ページの一部のスタ...

Vue ユニットテストに推奨されるプラグインと使用例

目次フレーム最高レベルのエラー報告活発なコミュニティとチーム冗談モカ推奨プラグインVue テストライ...

JS+AJAX は、州、市、地区のドロップダウン リストのリンクを実現します。

この記事では、州、市、地区のドロップダウンリストのリンクを実現するためのJS + AJAXの具体的な...

Ubuntu 20.04 CUDA & cuDNN のインストール方法 (グラフィカル チュートリアル)

CUDA インストール cuda をダウンロードサポートされているcudaバージョンを表示するには...

CSSのさまざまな背景、使用シナリオ、テクニックの詳細な分析

この記事はGitHub https://github.com/qq449245884/xiaozhi...

MySQL データベースの操作とデータ型

目次1. データベース操作1.1 データベースの表示1.2 データベースを作成する1.3 データベー...

Vueは時間カウントダウン機能を実装する

この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。必要:...