MySQL中delimiter关键字的使用解读
1、delimiter的简介
delimiter是mysql分隔符,在mysql客户端中分隔符默认是分号(;)。
如果一次输入的语句较多,并且语句中间有分号,这时需要新指定一个特殊的分隔符。
其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。
默认情况下,delimiter是分号;。
在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。
详细解释:
其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。
默认情况下,delimiter是分号;。
在命令行客户端中,如果有一行命令以分号结束, 那么回车后,mysql将会执行该命令。
如输入下面的语句 :
mysql> select * from test_table;
然后回车,那么MySQL将立即执行该语句。
2、delimiter的使用
但有时候,不希望MySQL这么做。
在为可能输入较多的语句,且语句中包含有分号。
这种情况下,就需要事先把delimiter换成其它符号,如//、$$或者;;。
更改结束标志的定义如下:
mysql>delimiter //
示例:
创建一个存储过程,在创建该存储过程之前,将delimiter分隔符转换成符号“//”,最后在转换回符号“;”。
-- 将结束标志符更改为// delimiter // -- 创建存储过程 create procedure proce_user_count(OUT count_num INT) reads sql data begin select count(*) into count_num from tb_user; end // -- 将结束标志符更改回分号 delimiter ;
上面就是,先将分隔符设置为 //, 直到遇到下一个 //,才整体执行语句。
执行完后,最后一行, delimiter ; 将mysql的分隔符重新设置为分号;
如果不修改的话,本次会话中的所有分隔符都以// 为准。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
MySql Error 1698(28000)问题的解决方法
这篇文章主要介绍了MySql Error 1698(28000)问题的解决方法,需要的朋友可以参考下2017-06-06
mysql signed unsigned和zerofill使用与区别
mysql中有符号signed,无符号unsigned与零填充zerofill,本文主要介绍了mysql signed unsigned和zerofill使用与区别,具有一定的参考价值,感兴趣的可以了解一下2024-07-07
Mysql DNS反向解析导致连接超时过程分析(skip-name-resolve)
从其它地方连接MySQL数据库的时候,有时候很慢。慢的原因有可能是MySQL进行反向DNS解析造成的,这里简单介绍下原理,需要的朋友可以参考下2013-03-03
MySQL删除表数据、清空表命令详解(truncate、drop、delete区别)
介绍了MySQL中清空或删除表数据的三种方法:truncate、delete和drop,以及它们的特点、使用场景和注意事项,Truncate用于快速删除表中所有数据并释放空间,但不保留表结构;delete用于删除表中特定行或所有数据,保留表结构且操作可回滚2024-10-10
SQL PRIMARY KEY唯一标识表中记录的关键约束语句
这篇文章主要为大家介绍了SQL PRIMARY KEY唯一标识表中记录的关键约束语句详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-12-12


最新评论