• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 向MySQL添加功能

    有三种向MySQL添加函数的方法:

    • 通过用户定义函数(UDF)界面。用户定义的函数被编译为库文件,然后使用CREATE FUNCTIONand DROP FUNCTION语句动态添加到服务器或从服务器中删除请参见第13.7.4.1节“用户定义的函数的CREATE FUNCTION语法”在某些情况下,UDF包含在插件或组件库文件中,并且在安装或卸载插件或组件时会自动加载和卸载UDF。

    • 通过创建本机(内置)MySQL函数。本机函数被编译到mysqld服务器中,并永久可用。

    • 通过创建存储的函数。这些是使用SQL语句而不是通过编译目标代码编写的。此处不介绍编写存储函数的语法。请参见第24.2节“使用存储的例程”

    创建编译函数的每种方法都有优点和缺点:

    • 如果编写用户定义的函数,则除了服务器本身之外,还必须安装目标文件。如果将函数编译到服务器中,则无需这样做。

    • 本机函数需要您修改源分发。UDF不这样做。您可以将UDF添加到二进制MySQL发行版中。无需访问MySQL源。

    • 如果升级MySQL发行版,则可以继续使用以前安装的UDF,除非升级到UDF接口更改的较新版本。对于本机功能,您必须在每次升级时重复进行修改。

    无论您使用哪种方法添加函数,都可以像本地函数(例如ABS()或)一样在SQL语句中调用它们SOUNDEX()

    有关描述服务器如何解释对不同类型函数的引用的规则,请参见第9.2.5节“函数名称解析和解析”

    以下各节描述了UDF接口的功能,提供了编写UDF的说明,讨论了MySQL为防止UDF滥用而采取的安全预防措施,并描述了如何添加本机MySQL函数。

    例如,说明如何编写UDF的源代码,请看一下sql/udf_example.ccMySQL源代码发行版中提供文件。

    注意

    MySQL源代码包含使用Doxygen编写的内部文档。该文档对于从开发人员的角度了解MySQL的工作方式很有用。生成的Doxygen内容可从https://dev.mysql.com/doc/index-other.html获得使用第2.9.10节“生成MySQL Doxygen文档内容”中的说明,还可以从MySQL源分发本地生成此内容