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は文字列の連結、インターセプション、置換、位置検索操作を実装しています

MySQL 文字列の連結、インターセプト、置換、および検索位置。よく使用される文字列関数:関数例示す...

Alibaba Cloud Centos6.X でメールを送信する際に発生するさまざまな問題

序文: Webサービスを提供するために、Alibabaクラウドホストを新しくインストールしました。す...

MySql8.0 のトランザクション分離レベルエラーの問題を解決する

目次MySql8.0 トランザクション分離レベルエラーの表示質問コマンドは次のように変更されますMy...

JavaScriptにおけるこれの深い理解

Jsでのこれの深い理解JavaScriptスコープはstatic scopeスコープですが、 Jsの...

ECMAScript6 におけるマップマッピングの基本概念と一般的な方法

目次マッピングとは何かオブジェクトとマップの違いマップの共通メソッド宣言と初期化割り当てセットキー値...

Mysql の読み取り/書き込み分離期限切れに対する一般的な解決策

MySQLの読み書き分離の落とし穴読み取りと書き込みの分離の主な目的は、メイン データベースの負荷を...

Vue.jsはアイコンをクリックしてズームインし、

前回の記事では、Vue で画像の切り抜きや拡大・縮小、回転を実現する方法を紹介しました。今回は、アイ...

MySQL の自動増分 ID に関するいくつかの小さな問題の要約

以下の質問はすべて InnoDB ストレージ エンジンに基づいています。 1. 最も大きな ID を...

CentOS6.5にpython3.7をインストールする詳細な手順

1. Python 3をダウンロードする https://www.python.org/ftp/py...

エコー後に要素編集フォームel-radioが選択できない問題を解決します

目次序文質問オンラインソリューション序文この記事の内容は私がこの業界に入ったときのメモを元にしている...

MySQL トランザクションの詳細

目次導入取引の4つの特徴トランザクション分離レベル確認するMVCC現在の読書スナップショット読み取り...

js を使用して QR コードを生成するサンプル コード

以前、プロジェクトでQRコードをスキャンして情報を表示する機能を開発する必要がありました。インターネ...

CentOS7 システムでスワップを増やす方法の例

序文スワップは、ディスク上にある「仮想メモリ」の一部である特殊なファイル (またはパーティション) ...

MySQL の時間保持問題に関する簡単な分析

MySQL のデフォルトの時間タイプ (datetime と timestamp) の精度は秒です。...

docker-compose が遅すぎる場合の解決策の詳細な説明

解決策はただ一つ、ソースを変更することです。 github からのソースは基本的にタイムアウトするの...