`

mysql 创建函数

阅读更多
如何进入mysql的cmd命令行模式?
参考:http://submaze.iteye.com/blog/2161952

一、查看创建函数的功能是否开启:
mysql>show variables like '%func%';
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | OFF   |
+---------------------------------+-------+
1 row in set (0.07 sec)
二、如果value值为OFF,则需要将其开启.
set global log_bin_trust_function_creators=1;

最终状态
mysql> show variables like '%func%';
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | ON    |
+---------------------------------+-------+
1 row in set (0.04 sec)

三、创建函数时,先选择数据库
mysql> use oct
Database changed

开始创建函数
mysql> delimiter $$
mysql> create function t_fn(lat1 double,lng1 double,lat2 double,lng2 double)
    -> returns tinyint
    -> begin
    -> return 1;
    -> end$$
Query OK, 0 rows affected (0.18 sec)
函数创建成功

函数测试
mysql> select t_fn(1,2,3,4);
    -> $$
+---------------+
| t_fn(1,2,3,4) |
+---------------+
|             1 |
+---------------+
1 row in set (0.00 sec)

五、删除函数
mysql> drop function t_fn;
    -> $$
Query OK, 0 rows affected (0.59 sec)
六、查看函数
   1) mysql> show function status;
           -> $$
      显示数据库中所有函数的基本信息
   2)  mysql> show create function t_fn;
           -> $$

说明:delimiter
MySQL中delimit命令。
这个命令与存储过程没什么关系。
其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。
即改变输入结束符。
默认情况下,delimiter是分号“;”。
在命令行客户端中,如果有一行命令以分号结束,
那么回车后,mysql将会执行该命令。
但有时候,不希望MySQL这么做。因为可能输入较多的语句,且语句中包含有分号。
默认情况下,不可能等到用户把这些语句全部输入完之后,再执行整段语句。
因为mysql一遇到分号,它就要自动执行。
这种情况下,就可以使用delimiter,把delimiter后面换成其它符号,如//或$$。
此时,delimiter作用就是对整个小段语句做一个简单的封装。
此命令多用在定义子程序,触发程序等mysql自己内嵌小程序中。
分享到:
评论

相关推荐

    MYSQL 创建函数出错的解决方案

    mysql 创建函数出错信息如下: Error Code: 1227. Access denied; you need (at least one of) the SUPER privilege(s) for this operation 首先检查创建函数的功能是否开启,检查是否开启创建功能的SQL如下: -- ...

    mysql创建函数出现1418错误的解决办法

    代码如下:Error Code : 1418 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_...

    Mysql函数手册.rar_MySQL函数手册_VZI_mysql 函数手册

    例如,可以创建测试表并输入数据,然后尝试使用不同的函数来执行查询,观察结果并理解其工作原理。 总的来说,这份"MySQL函数手册"是一个非常宝贵的资源,无论是学习MySQL的基本操作,还是解决复杂的数据处理问题,...

    mysql 自定义函数1

    mysql自定义函数 在MySQL数据库中,可以通过创建自定义函数来扩展数据库的功能,以便更方便和灵活地处理数据。以下是创建MySQL自定义函数的基本步骤:

    MySQL系列—-创建函数

    在MySQL数据库中,创建...通过学习这两个实例,你不仅可以掌握创建函数的基本语法,还能了解到如何在函数中使用条件判断和循环控制结构。希望这对你在MySQL的使用中有所帮助,如果你觉得有用,别忘了点赞支持一下哦!

    PHP访问MySQL数据库函数简介

    `mysql_connect()` 函数用于建立与 MySQL 服务器的连接。如果连接成功,则返回一个连接标识符;如果失败,则返回 false。以下为该函数的基本语法: ```php int mysql_connect(string $hostname[:port], string $...

    创建Mysql日历函数

    Mysql日历创建函数,可得到日期,天、季度、年、周六周末等

    MySQL系列—-创建存储函数、游标的使用

    在MySQL中,创建一个存储函数需要定义函数名、参数列表以及返回类型。下面是一个创建名为`smin`的存储函数的例子,该函数接收三个整数参数`i`, `j`, `k`,并返回它们中的最小值: ```sql DELIMITER $$ CREATE ...

    MySQL数据库函数库

    mysql_create_db 函数用于创建一个新的 MySQL 数据库。该函数返回的是布尔类型,表示创建数据库的结果。如果成功创建数据库,则返回 TRUE,否则返回 FALSE。 语法:bool mysql_create_db(string database_name); 5...

    在MySQL中创建带有IN和OUT参数的存储过程的方法

    在 MySQL 中创建储存过程的语法很难记,除非你经常跟储存过程打交道,原因很简单,语法不是什么小笑话。如果你通过命令行控制 MySQL,你需要记住准确的语法。一个快速示例可以很好的帮助你做到这点。在MySQL 入门...

    mysql函数大全,函数库

    安装手册通常会指导用户如何下载、安装和配置MySQL服务器,包括设置环境变量、创建数据库、初始化用户权限等步骤。对于初学者,了解这些基础操作至关重要。 在实际应用中,掌握这些函数和API的使用能够极大地提高...

    php+mysql常用函数

    最后,`sql_regcase()`函数是一个不太常见的函数,它创建一个根据字符大小写转换的字符串,这对于SQL查询中的大小写不敏感匹配非常有用,尤其是在数据库中执行搜索操作时。 以上就是PHP中的一些常用函数,它们涵盖...

    mysql的函数及命令集合

    MySQL是一种广泛使用的开源关系型数据库管理系统,其丰富的函数和命令集是进行数据操作与管理的重要工具。本篇文章将深入探讨MySQL中的常用函数和命令,帮助你更好地理解和运用这些功能。 一、时间与日期函数 1. ...

    PHP操作MYSQL函数手册大全

    - **mysql_connect()**:这是PHP中用于创建一个到MySQL服务器的新连接的函数。它接受主机名、用户名和密码作为参数。如果连接成功,它将返回一个资源句柄,否则返回FALSE。例如: ```php $conn = @mysql_connect...

    MySQL函数大全中文版

    6. **控制流程函数**:如`CASE`语句用于创建复杂的条件表达式,`LEAST()`和`GREATEST()`用于找出最小或最大的值。 7. **系统信息函数**:如`USER()`返回当前用户,`VERSION()`提供MySQL服务器的版本信息,`DATABASE...

    php与mysql连接函数

    `mysql_connect()`函数用于创建与MySQL数据库的连接。其基本语法如下: ```php resource mysql_connect([string $hostname[:port][/path/to/socket]][, string $username][, string $password]) ``` **参数说明:*...

    upsert, 在 MySQL,PostgreSQL和SQLite3上,更新 使用INSERT或者 IGNORE,透明地为MySQL和PostgreSQL创建函数( UDF ) ;.zip

    upsert, 在 MySQL,PostgreSQL和SQLite3上,更新 使用INSERT或者 IGNORE,透明地为MySQL和PostgreSQL创建函数( UDF ) ; 更新程序 让我们轻松更新传统 RDBMS,如 MySQL,PostgreSQL和SQLite3-hey外观 NoSQL 。 在...

Global site tag (gtag.js) - Google Analytics