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

推薦する

CSS で「プラス記号」効果を実装するためのサンプルコード

以下に示すプラス記号の効果を実現するには: この効果を実現するには、div 要素だけが必要です。 b...

js 実行コンテキストとスコープの概要

目次序文文章1. JavaScriptコードの実行プロセスに関連する概念2. 実行コンテキストと実行...

mysql における mydumper と mysqldump の比較

いくつかのテーブルまたは単一のデータベースのみをバックアップする場合は、innobackup よりも...

MySQLのスレッド実行の急増とクエリの遅延の問題を解決する

目次背景問題の説明原因分析CPUクエリが遅い接続数分析する拡大する総括する背景新年を迎える前は、一年...

MySQL v5.7.18 解凍バージョンのインストール詳細チュートリアル

MySQLをダウンロード5.1.1.1 より前のバージョン私のコンピュータは64ビットなので、Win...

HTML テーブルの行間隔を変更する方法の例

HTML テーブルを使用する場合、行間隔を変更する必要がある場合がありますが、余白、パディング、折り...

Ubuntu 18.04 は pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow、Matplotlib をインストールします

1. 現在、Pythonのバージョン管理ツールは数多く存在します。その中でも比較的使いやすいのがPy...

デザイン理論: デザインにおける階層

<br />原文: http://andymao.com/andy/post/80.ht...

MySQLマスタースレーブデータベース構築方法の詳細な説明

この記事では、MySQL マスター/スレーブ データベースの構築方法について説明します。ご参考までに...

単一マシン上での Tomcat の複数インスタンスの実装

1. はじめにまず、1 台のマシンで複数のインスタンスを使用する理由という質問に答える必要があります...

純粋なCSSを使用してスイッチ効果を実現する

まずアイデアはこの効果を実現するには、 <input type="checkbox&...

JavaScript でオブジェクトをトラバースする 5 つの方法 サンプルコード

目次準備する5つの武器…のためにオブジェクト.キーオブジェクト.getOwnPropertyName...

新しい要素を作成する3つの方法のまとめ

1つ目: テキスト/HTML経由var txt1="<h1>テキスト。<...

SSH ポート転送、ローカル ポート転送、リモート ポート転送、動的ポート転送の詳細

パート 1 SSH ポート転送の概要カフェで無料Wi-Fiを利用しているとき、誰かがあなたのパスワー...

Navicatをサーバー上のdockerデータベースに接続する方法

dokekrでmysqlコンテナを起動するコマンドを使用します: docker run -p 330...