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

推薦する

シンプルなカルーセルの最も完全なコード分析を実装するJavaScript(ES6オブジェクト指向)

この記事では、シンプルなカルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹...

MySQLサービスを削除する具体的な方法

MySQLは次のエラーを表示します「コントロール パネル -> 管理ツール -> サービ...

MySQL コマンドラインでよく使われる 18 個のコマンド

日常的なウェブサイトの保守と管理では、多くの SQL ステートメントが使用されます。熟練して使用する...

HTMLフォーム要素の詳しい解説(パート2)

HTML 入力属性値属性value 属性は、入力フィールドの初期値を指定します。 <フォーム...

MySQL で lower_case_table_names を記録する際の落とし穴の詳細な説明

1 原因プロジェクトがデータベースを移行して再起動した後、「T_AAAテーブルが存在しません」という...

Linux での fuser コマンドの使用法の詳細な説明

説明する: fuser は、現在ディスク上のファイル、マウント ポイント、さらにはネットワーク ポー...

MySQL 外部キー設定方法の例

1. 外部キーの設定方法1. MySQL では、2 つのテーブルを関連付けるために、外部キー (FO...

ハイパーリンクアイコンの仕様: 記事の読みやすさを向上

1. ハイパーリンクアイコンの仕様とは?<br />ハイパーリンクアイコンの仕様は、「C...

Linux での tcpdump コマンドの詳細な分析と使用方法

導入簡単に言えば、tcpdump は、ネットワーク上のトラフィックをダンプし、ユーザーの定義に従って...

キャンバスをベースにした超クールな水光効果を実現

この記事の例では、キャンバスをベースにした超クールな水の光の効果を実装するための具体的なコードを参考...

衝突検出を実装するためのjs

この記事の例では、衝突検出を実装するためのjsの具体的なコードを参考までに共有しています。具体的な内...

10分でCSS3グリッドレイアウトを理解する

基本的な紹介前回の記事では、CSS3 のフレックスボックスを紹介しました。今日は、CSS3 のもう ...

Flash での HTML と CSS の適用

Flash での HTML と CSS の適用:同僚の Den が Flash で HTML と C...

CSS3 の display:grid、グリッドレイアウトの紹介

1. グリッドレイアウト(グリッド): Web ページをグリッドに分割し、さまざまなグリッドを組み合...