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 に関する簡単な説明

推薦する

vue3 テレポートの詳細な使用例

公式ウェブサイトhttps://cli.vuejs.org/ja/ガイド/場合によっては、コンポーネ...

JavaScript配列の一般的なメソッドの例のまとめ

目次一般的な配列メソッドconcat() メソッドjoin() メソッドpop() メソッドpush...

ウェブデザインにおける装飾要素の応用の概要

<br />序文: このチュートリアルを読む前に、序文を注意深く読んでください。そうしな...

SQLの最適化では間違いがよく起こります。それはMySQLのExplain Planの使い方を理解していないからです。

目次1. 準備2. 説明計画の概要3. フィールドの詳細な説明4. パーティションクエリにはパーティ...

And キーワードを使用した MySQL の複数条件クエリ ステートメント

AND キーワードを使用した MySQL 複数条件クエリ。MySQL では、AND キーワードを使用...

Alibaba Cloud OSS アクセス権設定(RAM 権限制御)実装

シナリオmyBuket の static/material/ ディレクトリなど、Alibaba Cl...

DockerでVueプロジェクトをデプロイする方法を教えます

1.前面に書きます:軽量仮想化テクノロジーとして、Docker には継続的インテグレーション、バージ...

JavaScript関数の詳細な紹介

任意の数のステートメントを関数を通じてカプセル化することができ、いつでもどこでも呼び出して実行できま...

HTML CSS3は画像表示効果を引き伸ばさない

1. transform 属性を使用して、画像を拡大せずに表示します (パスの問題は必要に応じて修正...

WeChat パブリック アカウントの録音ファイルを再生して保存します (amr ファイルを mp3 に変換)

目次オーディオトランスコーディングツール原理JAVE プロジェクトの問題このプロジェクトの特徴拡張機...

CSS変数を使用してスタイルを変更する方法の例

質問js を使用して CSS 疑似クラス スタイルを変更するにはどうすればよいでしょうか?しかし、j...

MySQL 5.6.37 (zip) ダウンロード インストール 構成 グラフィック チュートリアル

この記事では、MySQL 5.6.37のダウンロード、インストール、設定のチュートリアルを参考までに...

node_modulesを削除して再インストールする方法

目次ステップ1: プロジェクトをインストールするディレクトリにnode_modulesをインストール...

...

Vue でコミュニケーションを実装する 8 つの方法

目次1. コンポーネント通信1. Props 親コンポーネント ---> 子コンポーネント通信...