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の最適化の詳細な分析とパフォーマンス

導入データベースを使用したことがある人なら、機能面での like 記号と = 記号の類似点と相違点を...

Navicat を MySQL に接続するときに発生する 2059 エラーの解決方法

最近、Djangoを学習しているときにデータベースを使用する必要があったため、MySQLで使用するた...

時間に基づいて日付をクエリするためのMySQL最適化テクニック

たとえば、昨日新規登録されたユーザーを照会するには、次の 2 つの書き方があります。 説明する ch...

VUE + OPENLAYERSがリアルタイムポジショニング機能を実現

目次序文1. ラベルスタイルを定義する2. GeoJSONデータのシミュレーション3. Vercto...

MySQL の暗黙的な型変換によって発生するインデックス障害の解決策

目次質問再生暗黙的な変換要約する参照する質問仕事中、1 つの SQL クエリ ステートメントのみを実...

Vue3のいくつかの利点についての簡単な説明

目次1. ソースコード1.1 モノレポ1.2 タイプスクリプト2. パフォーマンス2.1 ソースコー...

node-media-serverを使用してシンプルなストリーミングメディアサーバーを構築する

node-media-server を使用するプロセスの一部を記録します。この記事の環境はWindo...

IDEA で Linux コマンドを使用する方法

Windows システムと比較して、Linux システムは多数の豊富なコマンドライン ツールを提供し...

protobuf の簡単な紹介と Ubuntu 16.04 環境でのインストールチュートリアル

protobufの簡単な紹介Protobuf は、Google のオープンソースのシリアル化プロトコ...

JavaScript リフレクション学習のヒント

目次1. はじめに2. インターフェース3. 簡単な例4. 結論1. はじめにMDN の公式 Web...

Vueの監視プロパティの詳細

目次1.watchは一般的なデータ(数値、文字列、ブール値)の変更を監視します。 1. 数値2. 文...

15 分で学べる並列アーティファクト GNU Parallel 入門ガイド

GNU Parallel は、1 台以上のコンピューター上で計算タスクを並列に実行するためのシェル ...

Windows に MySQL 8.0.16 をインストールする手順とエラーの解決方法

1. はじめに: mysql8以降は、これまでよく使われていたバージョンと比べてかなり変更点が大きい...

小規模プロジェクトで Vue が点滅するのを防ぐ方法

まとめHTML: 要素と v-cloak CSS: [v-cloak]{表示: なし}プロセスページ...