我在文中的作用是什么_MySQL删除数据

我在文中的作用是什么_MySQL删除数据mysqldelimiter

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

delimiter是mysql分隔符,在mysql客户端中分隔符默认是分号(;)。如果一次输入的语句较多,并且语句中间有分号,这时需要新指定一个特殊的分隔符。

delimiter在mysql中多地方出现,比如存储过程、触发器、函数等。其实就是告诉mysql解释器,该段命令是否已经结束,mysql是否可以执行。

默认情况下,delimiter是分号(;) 。

在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。如输入下面的语句

mysql> select * from test_table;

Jetbrains全家桶1年46,售后保障稳定

然后回车,那么MySQL将立即执行该语句。

但有时候,不希望MySQL这么做。在为可能输入较多的语句,且语句中包含有分号。

如试图在命令行客户端中输入如下语句

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一遇到分号,它就要自动执行。默认情况下,不可能等到用户把这些语句全部输入完之后,再执行整段语句。即,在语句RETURN ”;时,mysql解释器就要执行了。

      这种情况下,就需要事先把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解释器才会执行这段语句。

Mysql中delimiter作用

1. delimiter

delimiter是mysql分隔符,在mysql客户端中分隔符默认是分号(;)。
如果一次输入的语句较多,并且语句中间有分号,这时需要新指定一个特殊的分隔符。

2. delimiter使用

设置mysql触发器时的使用例子

mysql> delimiter // 
mysql> create trigger upd_check before update on account  
  -> for each row 
  -> begin 
  -> if new.amount < 0 then 
  -> set new.amount=0; 
  -> elseif new.amount > 100 then 
  -> set new.amount = 100; 
  -> end if; 
  -> end; 
  -> // 
Query OK, 0 rows affected (0.00 sec) 
mysql> delimiter ; 

上面就是,先将分隔符设置为 //,

直到遇到下一个 //,才整体执行语句。

执行完后,最后一行, delimiter ; 将mysql的分隔符重新设置为分号;

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207459.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月1日 下午2:43
下一篇 2025年8月1日 下午3:15


相关推荐

  • AUDIO标签详细解读

    AUDIO标签详细解读文章目录过程前情提要重点前言 audio 标签概述属性 src controls loop muted preload JS 操作拿到 audio 标签当前播放时间 currentTime 音频总时长 duration 音量 volume 播放速率 playbackRate 播放 play 暂停 pause 是否暂停 paused 暂停 pause 加载 load 加载的生命周期 按先后顺序排序 loadstart 开始

    2026年3月19日
    3
  • DOM attributes and properties

    DOM attributes and properties

    2022年1月9日
    45
  • XSRF 的攻击与防范

    XSRF 的攻击与防范官方定义CSRF(Cross-siterequestforgery跨站请求伪造,也被称成为“oneclickattack”或者sessionriding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而XSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS

    2022年5月19日
    36
  • linux挂载u盘出错_linux下挂载U盘

    linux挂载u盘出错_linux下挂载U盘一 Linux 挂载 U 盘 1 插入 u 盘到计算机 如果目前只插入了一个 u 盘而且你的硬盘不是 scsi 的硬盘接口的话 那它的硬件名称为 sda1 2 在 mnt 目录下先建立一个 usb 的目录 如 root localhostroo mkdir mnt usb 3 挂载 U 盘 mount tvfat dev sda1 mnt usb4 卸载 U 盘 umount mnt usb5 删除

    2026年3月17日
    2
  • 数字签名与数字证书

    数字签名与数字证书数字签名 将报文按双方约定的 HASH 算法计算得到一个固定位数的报文摘要 在数学上保证 只要改动报文中任何一位 重新计算出的报文摘要值就会与原先的值不相符 这样就保证了报文的不可更改性 将该报文摘要值用发送者的私人密钥加密 然后连同原报文一起发送给接收者 而产生的报文即称数字签名数字证书 数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据 提供了一种在 Internet 上验证您身份的方式 其作用类似于司机的驾驶执照或日常生活中的身份证 它是由一个由权威机构 CA 机构 又称为证书授权

    2026年3月19日
    2
  • 腾讯元宝:跨平台同步解析——PC与移动端数据互联深度解读

    腾讯元宝:跨平台同步解析——PC与移动端数据互联深度解读

    2026年3月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号