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 つの例

推薦する

vscodeを使用してReact Native開発環境を構築する方法を教えます

質問コードにはプロンプトがありません: RN 開発に不慣れな、フロントエンド以外の学生の多くは、「ど...

一目でわかる$nextTickの説明

目次1. 機能説明2. 親コンポーネント3. サブコンポーネント NextTick.vue 4なぜ未...

Linux で SSH サーバー エイリアスを作成する 2 つの方法

序文SSH 経由でさまざまなリモート システムに頻繁にアクセスする場合は、このトリックを使用すると時...

歴史的な Linux 画像処理および修復ソリューション

従来の Linux イメージで作成された ECS クラウド サーバーには、NTP と YUM が設定...

ウェブカラーのコントラストと調和のテクニックの共有

色のコントラストと調和対照的な状況では、色の相互作用は単一の色によって与えられる感覚とは異なります。...

Docker を使用して Nginx+Flask+Mongo アプリケーションをデプロイする

サーバーにはNginx、データベースサポートにはMongo、Python言語のWebフレームワークに...

純粋な CSS を使用してドロップダウン メニューを作成するサンプル コード

導入:最近の面接の質問を見ると、ドロップダウン メニューを実装するために CSS を使用することが多...

nginxプロキシsocket.ioサービスの落とし穴の詳細な説明

目次Nginx は 2 つの socket.io サーバーをプロキシします。 socket.ioの動...

Ubuntu 20.04の新バージョンでルートユーザーを使用してシステムにログインする方法の詳細なチュートリアル

Ubuntu 20.04 では、デフォルトで root ログインが有効になっていないため、デスクトッ...

40以上の美しいWebフォームデザイン例

Web フォームは、訪問者と Web サイト所有者間の主要なコミュニケーション チャネルです。フィー...

Vue3 を使用して虫眼鏡効果を実現する方法の例

目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. 準備2. 梱包を開始する...

HTMLを使用してシンプルなメールテンプレートを作成する

今日は、「ローテク」の問題について書きたいと思います。ちなみに、私は JavaScript Week...

CSS3は小さな矢印のさまざまなグラフィック効果を実現します

CSS を使ってさまざまなグラフィックを実現できるのは素晴らしいことです。画像を切り取る必要はなく、...

Linux/Docker で System.Drawing.Common を使用する

序文プロジェクトを .net core に移行した後、 System.Drawing.Commonコ...

Linux DMAインターフェースの知識ポイントの詳細な説明

1. 2種類のDMAマッピング1.1. 一貫性のあるDMAマッピング主に長期間使用されるエリアをマッ...