MySQL はデータベースを動的に更新します スクリプト例の説明

MySQL はデータベースを動的に更新します スクリプト例の説明

具体的なupgradeスクリプトは次のとおりです。

インデックスを動的に削除する

アップグレードが存在する場合は手順を削除してください。
区切り文字 $$
CREATE プロシージャ UPGRADE()
始める
-- リソース.オーディオ属性
 存在する場合(SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'RESOURCE' AND TABLE_NAME = 'AUDIO_ATTRIBUTE' AND INDEX_NAME = 'resource_publish_resource_id_index')
  それから 
    ALTER TABLE `AUDIO_ATTRIBUTE` でインデックス resource_publish_resource_id_index を削除します。
 終了の場合;
終わり$$
区切り文字 ;
UPGRADE() を呼び出します。
アップグレードが存在する場合は手順を削除してください。

動的なフィールドの追加

アップグレードが存在する場合は手順を削除してください。
区切り文字 $$
CREATE プロシージャ UPGRADE()
始める
-- HOMEWORK.HOMEWORK_QUESTION_GROUP.FROM_ID
 存在しない場合(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'HOMEWORK' AND TABLE_NAME = 'HOMEWORK_QUESTION_GROUP' AND COLUMN_NAME = 'FROM_ID')
  それから 
    ALTER TABLE `HOMEWORK_QUESTION_GROUP` に列 FROM_ID VARCHAR(50) NULL を追加します。
 終了の場合;
-- 宿題.宿題_質問_グループ.質問_タイプ
 存在しない場合(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'HOMEWORK' AND TABLE_NAME = 'HOMEWORK_QUESTION_GROUP' AND COLUMN_NAME = 'QUESTION_TYPE')
  それから 
    ALTER TABLE `HOMEWORK_QUESTION_GROUP` に QUESTION_TYPE VARCHAR(50) NULL 列を追加します。
 終了の場合;
--HOMEWORK.HOMEWORK_QUESTION_GROUP.難易度
 存在しない場合(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'HOMEWORK' AND TABLE_NAME = 'HOMEWORK_QUESTION_GROUP' AND COLUMN_NAME = 'DIFFICULTY')
  それから 
    ALTER TABLE `HOMEWORK_QUESTION_GROUP` に DIFFICULTY 列 VARCHAR(50) NULL を追加します。
 終了の場合;
終わり$$
区切り文字 ;
UPGRADE() を呼び出します。
アップグレードが存在する場合は手順を削除してください。

他の構文も同様ですが、主にEXISTSNOT EXISTSの使用法が区別されます。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • 動的データソースのSpring Boot構成を通じて複数のデータベースにアクセスするための実装コード
  • SpringBoot によるスケジュールタスクの作成の詳細説明 (データベースを使用した動的実行)
  • asp.net で実装された MVC クロスデータベース マルチテーブル ジョイント動的条件クエリ関数の例
  • Java の MyBatis フレームワークでのデータベースに対する動的 SQL クエリのチュートリアル
  • Yii操作データベースでテーブル名を動的に取得する方法を実現する
  • C# で Access データベースとテーブルを動的に作成する方法
  • ext コンボボックスはデータベースデータを動的に読み込みます (フロントエンドとバックエンドを使用)
  • Ajax 動的データベース読み込みの例
  • SQL データベース テーブルを動的に作成する C# ASP .NET メソッド
  • JavaScript はテーブル データ行を動的に追加します (ASP バックグラウンド データベース ストレージの例)

<<:  Win10にnginxをインストールする方法

>>:  フォームデータを取得するための Node.js メソッドの 3 つの例

推薦する

MySQL データベースを手動および自動でバックアップする 8 つの方法

MySQL は人気のオープンソースデータベース管理システムとして多くのユーザーが利用しています。デー...

xshell を使用して VMware で Linux に接続する方法 (2 つの方法)

【序文】最近、ITOO の試験システムのストレステストを行いたいので、自分のコンピュータに Lin...

画像を使用してハイパーリンクのパーソナライズされた下線を実現します

画像内に下線付きのリンクが表示されても驚かないでください。実はとても簡単なので、あなたにもできるので...

MySQL データベースは何をしますか?

MySQL はリレーショナル データベース管理システムです。リレーショナル データベースは、すべて...

MySQL 文字列連結関数 GROUP_CONCAT の詳細な説明

前回の記事では、クロステーブル更新について書きました。自分が書いた SQL を見たとき、自分がバカみ...

SQL における distinct と row_number() over() の違いと使い方

1 はじめにデータベース内のデータを操作するための SQL 文を記述するときに、いくつかの不快な問題...

MySQL 5.7 JSON 型の使用の詳細

JSON は、言語に依存しないテキスト形式を使用する軽量のデータ交換形式で、XML に似ていますが、...

Linux ソフトウェアのインストール場所を確認する簡単な方法

1. ソフトウェアのインストールパスを確認します。 Linuxソフトウェアをインストールできる場所は...

JavaScript で配列の変更を監視する方法

序文以前、defineProperty を紹介したとき、オブジェクトの変更のみを監視でき、配列の変更...

Dockerコンテナとローカルマシン間でファイルを転送する方法

ホストとコンテナ間でファイルを転送するには、コンテナの完全な ID が必要です。取得方法は以下の通り...

WebpackはTypeScriptコードをパッケージ化するためのスキャフォールディングを構築します

フォルダを作成するディレクトリ構造: dabaots npm init -yを初期化して packa...

vue-cropper を使用して vue で写真をトリミングする方法をご存知ですか?

目次1. インストール: 2. 使用方法: 3. 組み込みメソッド: 4. 使用方法:要約する公式サ...

JavaScript で同時実行制御を実装する方法

目次1. 同時実行制御の概要1.1 フェーズ1 1.2 フェーズ2 1.3 フェーズ3 2. 同時実...

CenOS6.7 mysql 8.0.22 のインストールと設定方法のグラフィックチュートリアル

CenOS6.7 は MySQL8.0.22 (推奨コレクション) をインストールします1. MyS...

HTML メタビューポート属性の詳細な説明

ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウィンドウ」(ビューポート) に配置し...