MySQLカスタム関数の原理と使用法の分析

MySQLカスタム関数の原理と使用法の分析

この記事では、例を使用して MySQL カスタム関数の原理と使用方法を説明します。ご参考までに、詳細は以下の通りです。

この記事の内容:

  • 関数とは何か
  • 関数の作成
  • 関数呼び出し
  • 機能ビュー
  • 機能変更
  • 関数の削除

リリース日: 2018-04-18


関数とは何か:

  • 関数は一連の SQL ステートメントを格納し、関数を呼び出すとこれらのステートメントが一度に実行されます。したがって、関数はステートメントの重複を減らすことができます。 [ただし、この関数は実行プロセスではなく戻り値に重点を置いているため、一部のステートメントは実行できないことに注意してください。したがって、この関数は単なる SQL ステートメントの集合ではありません。 】
  • MySQL関数には独自のカスタム関数(定義済み関数)があります。詳細については、私の別のブログ投稿「一般的なMySQL関数」を参照してください。
  • ここでは主に機能のカスタマイズ方法を紹介します。

補充:

  • 関数とストアド プロシージャの違い: 関数は値を返すことしかできず、結果セットを返すことはできません。関数は戻り値を重視するため、クエリ ステートメントであっても複数の値を返すことはできません。
    -- 受け入れられないコード: 関数から結果セットを返すことはできません
    関数myf()を作成し、intを返す 
    始める
    学生から*を選択します。
    100 を返します。
    終わり;

関数の作成:

  • 文法:
    関数を作成する 関数名([パラメータリスト]) データ型を返す begin
     SQL ステートメント;
     戻り値;
    終わり;
    • パラメータリストの形式は次のとおりです: 変数名 データ型
  • 例:
    -- 1 つの SQL ステートメントのみを使用する最も単純な関数: create function myselect2() returns int return 666;
    select myselect2(); -- 関数を呼び出す --
    関数myselect3()を作成するとintが返される
    始める 
      c int を宣言します。
      cname="python" のクラスから id を選択して c に格納します。
      c を返します。
    終わり;
    myselect3() を選択します。
    -- パラメータを渡す関数 create function myselect5(name varchar(15)) は int を返します
    始める 
      c int を宣言します。
      cname=name となるクラスから id を選択して c に入れます。
      c を返します。
    終わり;
    myselect5("python")を選択します。

補充:

  • 次のような、return の後、begin の前に記述される特別なオプションもあります。
    • コメント: 機能の説明
    • 他にもSQLセキュリティなどのオプションがいくつかあります。興味があれば、Baiduで検索してみてください。ここでは説明しません。この知識ポイントについてだけ述べます。

関数呼び出し:

  • 関数名()を使用して直接呼び出すことができます。[と言われているものの、結果を返します。SQLでselectが使用されていない場合は、結果を表示できません(そのため、単純な呼び出しではエラーが報告されます)。]
  • パラメータを渡したい場合は、関数名(パラメータ)を使用できます。
  • 呼び出し方法 [以下で呼び出される関数はすべて上記で作成されます。 】:
    -- パラメータなしで select myselect3() を呼び出します。
    -- select myselect5("python"); を呼び出します。
    id=myselect5("python") のクラスから * を選択します。

機能ビュー:

  • 関数作成ステートメントを表示します: show create function function name;
  • すべての関数を表示: 関数のステータスを表示します ['pattern' のように];

機能変更:

  • この関数はコメントなどの一部のオプションのみを変更できますが、内部 SQL ステートメントとパラメータ リストを変更することはできません。
  • 関数関数名オプションを変更します。

機能の削除:

  • 関数名をドロップします。

MySQL 関連のコンテンツに興味のある読者は、次のトピックを確認してください: 「MySQL 共通関数の概要」、「MySQL ログ操作スキルの概要」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキルの概要」、および「MySQL データベース ロック関連スキルの概要」。

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQLカスタム関数CREATE FUNCTIONの例
  • MySQL でのカスタム関数とストアド プロシージャの作成に関する詳細な説明
  • MySQL 中国語文字変換ピンインカスタム関数と使用例 (最初の単語の最初の文字)
  • MySQLカスタム関数についての簡単な説明
  • MySQL でカスタム関数を使用して文字列から数値を抽出する方法
  • MySQLでカスタム関数を作成する際の問題
  • MySQLカスタム関数の簡単な使用例
  • MySQL ストアド関数(カスタム関数)の定義と使用方法の詳細な説明
  • 正の整数かどうかを判断するMYSQLカスタム関数の例コード
  • MySQLカスタム関数とストアドプロシージャの詳細な説明
  • MySQLはカスタム関数を使用して親IDまたは子IDを再帰的に照会します

<<:  Nginx Linux のインストールと展開の詳細なチュートリアル

>>:  Vue の this.$store.state.xx.xx に関する簡単な説明

推薦する

Linux の一般的なコマンド chmod を使用して、ファイルの権限 777 と 754 を変更します。

よく使用されるコマンドは次のとおりです。 chmod 777 文件或目錄例: chmod 777 /...

MACでMYSQLデータベースのパスワードを忘れた場合の解決策

Mac オペレーティングシステムで MYSQL データベースのパスワードを忘れた場合の簡単な解決策1...

Ubuntuにmysql5.7.10を手動でインストールする

このチュートリアルでは、UbuntuにMySQL 5.7.10を手動でインストールする手順を参考まで...

レスポンシブWebデザイン学習(1) - 画面サイズと使用率の決定

最近では、モバイルデバイスがますます普及しており、ユーザーがスマートフォンやタブレットを使用して W...

Firefox ブラウザでバックグラウンド ミュージックを再生するための究極のソリューション (Chrome マルチブラウザ対応)

FirefoxでBGMを再生するための推奨コードがテストに合格しました空のコントロールパネルを開いて...

MySQLでクエリキャッシュを実行する方法と失敗を解決する方法

関数を使用する前にパラメータのプロパティを理解して、関数の使い方をより深く理解する必要があることは誰...

MySQL 5.7.20\5.7.21 無料インストール版のインストールと設定のチュートリアル

参考までに、mysql 5.7.20 / 5.7.21 をダウンロード、インストール、構成します。具...

Tomcat10 Catalinaのログの文字化けの問題を解決する

実行環境、Idea2020バージョン、Tomcat10、実行時にTomcat CatalinaLog...

Linux で利用可能なネットワーク インターフェイスを表示する方法

序文Linux システムをインストールした後の最も一般的なタスクは、ネットワーク構成です。もちろん、...

スライドによるページめくり効果とクリックイベント問題をモバイル端末上で実装する

前述のこの記事はとても短いです〜主な目的は、モバイル端末上のクリックと js イベントのメカニズムに...

Vue.js フロントエンドプロジェクト向け多言語ソリューションのアイデアと実践

目次1. 通常どのようなコンテンツを処理する必要があるか2. 基本的な考え方3. 具体的な実践の詳細...

JavaScript の手ぶれ補正とスロットリングの詳細な説明

目次デバウンススロットル要約するデバウンス定義: スクロール イベントなど、短時間に連続してトリガー...

JavaScript BOM の説明

目次1. BOMの紹介1. JavaScriptは3つの部分から構成される2.ウィンドウオブジェクト...

不規則な投影を実現するためのボックスシャドウとドロップシャドウのサンプルコード

border-radius で生成できる四角形やその他の図形に影を追加する場合 (「Adaptive...

CentOS7 環境での DHCP 設定チュートリアル

目次CentOS7環境での設定コマンド手順1. DHCP設定ファイルを設定する2. グローバル構成を...