mysql开启function,Mysql自定義函數(function)
語法
自定義函數也需要相應的要求,語法如下:
CREATE FUNCTION(參數列表)
RETURNS返回值類型
函數體
刪除:
DROPFUNCTION
調用自定義函數語法:
SELECT (parameter_value,...)
語法實例 create function rand_string(n int) returns varchar(255)
begin
declare chars_str varchar(100) default 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
declare return_str varchar(255) default '';
declare i int default 0;
while i < n do
set return_str = concat(return_str, substring(chars_str,floor(1+rand()*62),1));
set i= i+1;
end while;
return return_str;
end;
效果
這樣我們自己定義的函數就完成了,先來看看FUNCTION屬性及運行效果; mysql> show function status;
+------+-------------+----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+
| Db | Name | Type | Definer | Modified | Created | Security_type | Comment | character_set_client | collation_connection | Database Collation |
+------+-------------+----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+
| test | rand_string | FUNCTION | root@localhost | 2017-05-26 14:13:10 | 2017-05-26 14:13:10 | DEFINER | | utf8 | utf8_general_ci | latin1_swedish_ci |
+------+-------------+----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+
1 row in set
mysql> show create function rand_string;
+-------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| Function | sql_mode | Create Function | character_set_client | collation_connection | Database Collation |
+-------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| rand_string | NO_ENGINE_SUBSTITUTION | CREATE DEFINER=`root`@`localhost` FUNCTION `rand_string`(n int) RETURNS varchar(255) CHARSET latin1
begin
declare chars_str varchar(100) default 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
declare return_str varchar(255) default '';
declare i int default 0;
while i < n do
set return_str = concat(return_str, substring(chars_str,floor(1+rand()*62),1));
set i= i+1;
end while;
return return_str;
end | utf8 | utf8_general_ci | latin1_swedish_ci |
+-------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
1 row in set
mysql> select rand_string(100);
+------------------------------------------------------------------------------------------------------+
| rand_string(100) |
+------------------------------------------------------------------------------------------------------+
| bfvEBTvGJqOBp7ajTm0KAwIPQy7Mmighp2PTN86XmIoCJG2YBYQbbciKG1Tfo3YvsDEaIVhwBhp2QY7xa3ADfd8SNctzjGjlCTuA |
+------------------------------------------------------------------------------------------------------+
1 row in set
名詞解釋
接下來對上面所涉及到的關鍵詞進行匯總整理。
大寫
小寫
詞義
用法
USE
use
切換數據庫
use test
IF EXIST
if exist
判斷是否存在
if exist name
DELIMITER
delimiter
定義結束符
delimiter // 默認為;
DEFINER
definer
權限
definer=root@localhost
CHARSET
charset
編碼
charset =utf8
DECLARE
declare
聲明
declare return_str varchar(10240)
DEFAULT
default
默認值
default 'abcdefgh';
ENGINE
engine
存儲引擎
engine=innodb||engine=myisam
FUNCTION
function
函數
function rand_string(n INT)
RETURNS
returns
返回類型
returns varchar(10240)
RETURN
return
返回值
return 'zhangsan'
CONCAT
concat
拼串
concat(string value,string value)
SUBSTRING
substring
截取字符串
substring(被截取名,開始索引,結束索引)
FLOOR
floor
取整
floor(23.33)
RAND
rand
隨機數
rand()
WHILE..DO
while..do
while循環
while i
SHOW..STATUS
show..status
查看運行狀態
show function status;
mysql开启function,Mysql自定義函數(function)相关推荐
- php ignore special characters,PHP htmlspecialchars() 函數--防注入字符轉義函數
更多實例 例子 1 把一些預定義的字符轉換為 HTML 實體:<?php $str = "Bill & 'Steve'"; echo htmlspecialchars ...
- python split拆分字符串_Python字符串split學習一(自定義字符串拆分)
開始學習python,第二天,盡管python內建函數split已經能干很多事情,但是遇到這種情況就要自己定義函數了: string = ' wang__chuang_____bo ' #coding ...
- java函數_函數(Java版)
此特性為Java版獨有. 原因:與其他Java版/基岩版特性頁面標題統一 注意: 中文Wiki的移動頁面需要在討論批准後進行,大量移動由機械人完成. 請不要使用複製粘貼來移動頁面,因為這樣會丟失所有的 ...
- php 将表情存入数据库,php + mysql 存入表情 【如何轉義emoji表情,讓它可以存入utf8的數據庫】...
方法1:base_encode64 這種方法是可以,但是舊數據沒有經過encode操作,取數據的時候如果統一進行decode的話,舊數據會丟失的. 1 方法2:urlencode 這個似乎可以,對沒有 ...
- windows下mysql开启慢查询
mysql在windows系统中的配置文件一般是my.ini,我的路径是c:\mysql\my.ini,你根据自己安装mysql路径去查找 [mysqld] #The TCP/IP Port the ...
- 简单介绍MySQL开启事务的两种方式
本篇文章给大家分享MySQL 是如何开启一个事务的,原文通过两种方式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧 方式 1 START TRANSACTION 或 ...
- mysql开启skip-name-resolve 导致root@127.0.0.1(localhost)访问引发的ERROR 1045 (28000)错误解决方案...
为什么配置skip-name-resolve? 由于mysql -h${ip} 远程访问速度过慢, mysql -h172.16.66.171 -uroot -p123456 根据网友经验(https ...
- mysql开启binlog
mysql开启binlog,至于为什么要开启binlog,可以google下. ## 设置server_id,一般设置为IP server_id=117## 复制过滤:需要备份的数据库名,多个库以逗号 ...
- [MySql] - 开启外部访问
打开 mysql 的查询窗口(使用root),使用SQL: -- 使用mysql库 use mysql;-- 更新密码 update user set password=PASSWORD('xxxxx ...
最新文章
- 面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来...
- python androidhelper kivy_学习qpython相关
- 百度语音识别demo:去掉离线识别功能
- 用Spring Security实现后台登录及权限认证功能
- read name 和 read 在 Bash 中的区别
- VSFTP配置详解+虚拟用户的支持
- 计算机学院 迎新口号,清华大学迎新标语
- 阿里图标库的使用方式
- 如何在excel中取消合并单元格后内容自动填充?
- windows 下安装图片标注软件 labelling和出错解决
- Redis基本知识记录
- android 代码缩进,Android缩进和悬挂缩进
- 在线绘制2维/3维函数图像、求导网站
- 云服务器体验——搭建简单私人网盘
- adobe acrobat pro dc 无法打开PDF_PDF怎么破?你一定不想错过这些软件
- airpak模拟案例_基于Airpak的大型车间污染物消散的数值模拟研究
- KaTex的一个简单例子
- STM32寻迹智能车
- 通过文件url地址获取base64;通过图片url地址获取base64;js获取文件的base64
- 【解决方案】企业远程行政会议协同办公视频会议EasyRTC如何实现远程办公?
热门文章
- 计算机实现减法学习心得
- 数据结构 排序(希尔排序)
- 第三周 7.25 --- 7.31
- SQL Server中count(*), count(col), count(1)的对比
- .NET经典资源站点汇总
- 在3D世界中创建不同的相机模式——检查对象是否可见
- 第三十六讲 ASP.NET中的Web服务(三)
- 打包解决方案后,安装时提示只能在IIS5.1以上运行解决方法
- Jenkins常见问题解决(持续更新)
- C#调用COM组件遇到的问题及解决办法