mysql 修改结束符_MySQL数据库中DELIMITER修改结束符教程及应用实例

关于DELIMITER

在MySQL中默认的结束符DELIMITER是;,它用于标识一段命令是否结束。在默认情况下,在命令行客户端中,如果有一行命令以;结束,那么回车后,MySQL将会执行该命令。

修改DELIMITER

如何修改

在使用习惯中,我们经常将结束符更改为 ;; 、// 、 $$ 等。

DELIMITER 新的换行符

示例:

mysql> SELECT NOW(); # 默认情况下结束符为 ;

+---------------------+

| NOW() |

+---------------------+

| 2017-10-30 21:05:34 |

+---------------------+

1 row in set (0.00 sec)

mysql> DELIMITER // # 更改结束符为 //

mysql> SELECT NOW()// # 此时结束符已经为 //

+---------------------+

| NOW() |

+---------------------+

| 2017-10-30 21:05:55 |

+---------------------+

1 row in set (0.00 sec)

mysql>

为什么要修改

有时候我们输入的语句不希望立即执行,但是语句中包含有分号;需要输入时,比如说我们在创建函数或者创建存储过程的时候,我们需要在函数中创建多条语句,此时如果用;分隔不同语句时就会导致直接执行目前所键入的命令,而创建函数或构建方法失败。

案例演示

现在以一个案例来展现,创建一个函数,该函数的作用是根据id删除对应的用户,并返回操作时间。

mysql> SELECT * FROM user_info;

+----+----------+----------------------------------+------+-----+

| id | username | password | age | sex |

+----+----------+----------------------------------+------+-----+

| 1 | AAA | 7fc56270e7a70fa81a5935b72eacbe29 | 20 | 1 |

| 2 | BBB | 9d5ed678fe57bcca610140957afab571 | 25 | 0 |

| 3 | CCC | 0d61f8370cad1d412f80b84d143e1257 | 22 | 0 |

| 4 | DDD | f623e75af30e62bbd73d6df5b50bb7b5 | 24 | 1 |

+----+----------+----------------------------------+------+-----+

4 rows in set (0.00 sec)

mysql> DELIMITER // # 更改结束符为 //

mysql> CREATE FUNCTION delUser(userid INT UNSIGNED)

-> RETURNS VARCHAR(30) # 设定返回类型

-> BEGIN

-> DELETE FROM user_info WHERE id = userid; # 删除指定id用户

-> RETURN NOW(); # 返回操作时间

-> END

-> //

Query OK, 0 rows affected (0.00 sec)

mysql> DELIMITER ; # 改回默认结束符;

mysql> SELECT delUser(3);

+---------------------+

| delUser(3) |

+---------------------+

| 2017-10-30 22:10:25 |

+---------------------+

1 row in set (0.01 sec)

mysql> SELECT * FROM user_info;

+----+----------+----------------------------------+------+-----+

| id | username | password | age | sex |

+----+----------+----------------------------------+------+-----+

| 1 | AAA | 7fc56270e7a70fa81a5935b72eacbe29 | 20 | 1 |

| 2 | BBB | 9d5ed678fe57bcca610140957afab571 | 25 | 0 |

| 4 | DDD | f623e75af30e62bbd73d6df5b50bb7b5 | 24 | 1 |

+----+----------+----------------------------------+------+-----+

3 rows in set (0.00 sec)

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值