Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL使用delimiter关键字

MySQL中delimiter关键字的使用解读

作者:pan_junbiao

这篇文章主要介绍了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的分隔符重新设置为分号;

如果不修改的话,本次会话中的所有分隔符都以// 为准。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文