MySQL中delimiter作用
1.说明
(1)delimiter在mysql中多地方出现,比如存储过程、触发器、函数等。其实就是告诉mysql解释器,该段命令是否已经结束,mysql是否可以执行。
(2) delimiter是mysql分隔符,在mysql客户端中分隔符默认是分号(;),
如果一次输入的语句较多,并且语句中间有分号,这时需要新指定一个特殊的分隔符。
2.使用演示
(1)如在编译器输入下列语句
mysql> CREATE FUNCTION `SHORTEN`(S VARCHAR(255), N INT)
mysql> RETURNS varchar(255)
mysql> BEGIN
mysql> IF ISNULL(S) THEN
mysql> RETURN '';
mysql> ELSEIF N<15 THEN
mysql> RETURN LEFT(S, N);
mysql> ELSE
mysql> IF CHAR_LENGTH(S) <=N THEN
mysql> RETURN S;
mysql> ELSE
mysql> RETURN CONCAT(LEFT(S, N-10), '...', RIGHT(S, 5));
mysql> END IF;
mysql> END IF;
mysql> END;
默认情况下,不可能等到用户把这些语句全部输入完之后,再执行整段语句。即,在语句RETURN '';时,mysql解释器就要执行了。
(2)这种情况下,就需要事先把delimiter换成其它符号,如//或$$。
mysql> delimiter //
mysql> CREATE FUNCTION `SHORTEN`(S VARCHAR(255), N INT)
mysql> RETURNS varchar(255)
mysql> BEGIN
mysql> IF ISNULL(S) THEN
mysql> RETURN '';
mysql> ELSEIF N<15 THEN
mysql> RETURN LEFT(S, N);
mysql> ELSE
mysql> IF CHAR_LENGTH(S) <=N THEN
mysql> RETURN S;
mysql> ELSE
mysql> RETURN CONCAT(LEFT(S, N-10), '...', RIGHT(S, 5));
mysql> END IF;
mysql> END IF;
mysql> END;//
这样只有当//出现之后,mysql解释器才会执行这段语句。
(3)上面就是,先将分隔符设置为 //,
直到遇到下一个 //,才整体执行语句。
执行完后,最后一行, delimiter ; 将mysql的分隔符重新设置为分号;
如果不修改的话,本次会话中的所有分隔符都以// 为准。
MySQL中delimiter作用相关推荐
- MySQL中delimiter的作用
delimiter是mysql分隔符,在mysql客户端中分隔符默认是分号(:).如果一次输入的语句较多,并且语句中间有分号,这时需要新指定一个特殊的分隔符. delimiter在mysql中多地方出 ...
- delimiter在mysql中的作用_细细研究MySql中delimiter起到的作用_MySQL
MySql中delimiter究竟可以起到些什么作用呢?可能不少人都有这样的疑惑,下文就为您介绍MySql中delimiter的作用,供您参考. MYSQL导出一个SQL后: DELIMITER $$ ...
- 【Mysql】MySql中delimiter的作用
阅读目录 MySql中delimiter的作用 例子 先说结论 MySql中delimiter的作用 Mysql 中默认命令的终止符是; , 但有时候,不希望MySQL这么做,因为你输入的sql 语句 ...
- 重音符accent 符号在mysql中的作用
重音符accent 符号在mysql中的作用 ` 是 MySQL 的转义符,避免和 mysql 的本身的关键字冲突,只要你不在列名.表名中使用 mysql 的保留字或中文,就不需要转义. 所有的数据库 ...
- 数据库mysql中delimiter的作用和用法
mysql中解释器以分号作为结束标记. 但有时候虽然不想终止,但是又想要执行某一段呢? delimiter|| CREATE TRIGGER changeAvgAge AFTER INSERT ON ...
- MySql中delimiter的用法
这个命令与 存储过程没什么关系. 其实就是告诉 mysql 解释器,该段命令是否已经结束了,mysql是否可以执行了. 即改变输入结束符. 默认情况下,delimiter是分号" ;&quo ...
- MySql中 delimiter 详解
其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了.默认情况下,delimiter是分号;.在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令 ...
- MySql中 delimiter 使用
近日,项目准备上一个新版本,项目组同事加班加点,终于把bug改完,然后在测试环境部署演练了数次. 万事具备,只欠上线... 最终上线执行脚本的时候,还是出现了问题.原因是我们的脚本中有一个函数. 我们 ...
- mysql中charset()作用_Mysql系列(四) —— MySQL的Charset和Collation
一.内容概述 在MySQL的使用过程中,了解字符集.字符序的概念,以及不同设置对数据存储.比较的影响非常重要.不少同学在日常工作中遇到的"乱码"问题,很有可能就是因为对字符集与字符 ...
最新文章
- FPGA之道(64)代码中的约束信息(一)保持约束
- Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架
- xxe漏洞攻防 简介 xml 引用外部实体 构造恶意内容
- 多类SVM的损失函数
- linux获取ad用户列表,Powershell小技巧之查询AD用户
- 【20180202】使用iptables做MySQL的端口转发
- nginx反向代理打印日志_nginx启用TCP反向代理日志配置
- 阿里云自研数据仓库 AnalyticDB 再捧 TPC 全球冠军
- HoloLens 2开发:关闭性能分析窗口
- 156.PHP多进程
- 获得每种调制方式中每个信噪比的准确度
- 小白转行学IT入职BAT应该怎么做
- Error from chokidar (C:\): Error: EBUSY: resource busy or locked, lstat ‘C:\hiberfil.sys‘的解决方案
- idr寄存器、_STM32 GPIO寄存器 IDR ODR BSRR BRR
- css-对号/叉号(纯css)
- Ubuntu20.04+Nvidia RTX 3060 显卡驱动安装
- SVO (1)跑数据集
- 从0到一开发微信小程序(6)—小程序常用API
- [ Linux ] 查看并修改时区
- 游戏辅助制作核心--植物大战僵尸逆向之自动捡取阳光(二)
热门文章
- Python 学习路线(2022)
- 【四圣龙神录的编程教室】第23章、来制作决死炸弹吧
- 2021高考成绩查询抖音,2021抖音很火的高考唯美的文案20个
- 习题 17:排队提水问题★★
- OpenCV C++ 通过Websocket发送摄像头图片到Web端
- 计算机毕业设计小程序点餐|外卖|餐饮系统+后台SSM
- Windows下的socket通信,实时发送消息
- KBOX狂欢,庆祝“赎身”
- 【Android高级进阶】论一个普通大学电子商务大三学生,怒刷3000道题逆袭拿到腾讯Offer?
- 学习记录439@MySQL json 数据相关操作