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

推薦する

Vue-cliフレームワークはタイマーアプリケーションを実装します

技術的背景このアプリケーションは vue-cli フレームワークを使用し、カスタム コンポーネント ...

nginx ロードバランシングを介して https にリダイレクトする方法

ウェブ上で証明書とキーをコピーするscp -rp -P52113 /application/ngin...

印刷広告を成功させるための「3I」基準

国内の多くの広告主にとって、印刷広告の制作と評価は、しばしばかなり主観的です。自分の感情や美的感覚に...

変数が空かどうかを判定するシェルの方法の概要

シェルで変数が空かどうかを判断する方法シェルプログラミングでは、パラメータのエラーチェック項目に、変...

CSS3 FlexBox の伸縮自在なレイアウトを 10 分で理解する

基本的な紹介特徴Flexbox は、よりシンプルで効率的なレイアウト方法を提供する CSS 表示タイ...

Windows 10 での MySQL 8.0.12 解凍バージョンのインストール グラフィック チュートリアル

この記事は、MySQL 8.0.12解凍版のインストールグラフィックチュートリアルを記録しています。...

MySQLのlike演算子の詳細

1. はじめに不明な値または部分的に既知の値をフィルタリングする場合は、like 演算子を使用でき...

MySQL バージョンは、2 つのタイムスタンプ型の値をサポートしていないバージョンよりも低いです。

MySQL エラー:エラー コード: 1293 テーブル定義が正しくありません。CURRENT_T...

MySQLインストール後のデフォルトデータベースの役割の詳細な説明

MySQL を学習すると、インストール後にいくつかのデフォルトのデータベースが付属していることに気付...

MySQL 更新セットとの違い

目次問題の説明原因分析解決問題の説明最近、奇妙な問い合わせを受けました。更新ステートメントはエラーな...

Linux で Multitail コマンドを使用するチュートリアル

MultiTail は、tail コマンド機能と同様に、複数のドキュメントを同時に監視するために使用...

MySQL を使用して Excel でデータ生成を完了する方法

Excel は、データ分析に最もよく使用されるツールです。この記事では、MySQL と Excel ...

電子メールの HTML ページを作成するための原則の概要

HTML メールはこのサイト上の独立したホスト ページではないため、他の誰かによってホストされていま...

Linuxの運用・保守の基礎知識から上級者向け知識までをまとめました

運用保守エンジニアは、初期段階では非常に大変な仕事です。この期間中、コンピューターの修理、ネットワー...

MySQL 最適化戦略 (推奨)

要約すれば: 1. データベースの設計とテーブルの作成時にパフォーマンスを考慮する2. SQLの記述...