我在文中的作用是什么_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


相关推荐

  • Linux通配符详解_Linux 通配符

    Linux通配符详解_Linux 通配符linux中常用的通配符详解:*:匹配0个或多个任意字符?:匹配任意单个字符[abc]:匹配abc中的任意单个字符[!abc]:匹配除abc中的任意单个字符[a-z]:匹配a-z中任意单个字符{string1,string2,…}:匹配string1,string2,或更多字符串例如:有file.jpg,file1.jpg,file2.jpg…file14.jpg共15个文件l…

    2026年1月25日
    4
  • 回归分析模型推广_案例分析的意义

    回归分析模型推广_案例分析的意义这个项目呢,就不需要我们做很多的数据清洗的工作了,因为我们手里的数据基本已经做好数据清洗了,我们主要需要做的就是数据可视化和文本挖掘工作。下面我们来一一介绍一下。目录1业务背景1.1分析流程概述1.2市场分类1.3产品生命周期1.4产品结构-波士顿矩阵(BCGMatrix)1.5处理项目需求的基本思路1.6项目需求例子1.7项目背景&产品架构1.8数据说明2驱虫市场的潜力分析2.1分析目的&加载数据2.1.1分析目的2.1.2加载数据2.2清洗&补全数

    2022年10月2日
    4
  • anaconda虚拟环境安装tensorflow_开源ocr哪个好

    anaconda虚拟环境安装tensorflow_开源ocr哪个好由于我需要使用爬虫进行练习,用的是windows10,所以安装过程很是艰辛。报错1:用python的pip安装tesserocr,发生如下代码错误:经过查询tesserocr安装环境要求,需要leptonica-1.71版本以上文件;确认代码中错误,确实发现安装过程中leptonica文件无法找到。解决方法:用Anaconda安装python环境。使用Anacond…

    2022年8月29日
    4
  • navicat生成激活码错误-激活码分享

    (navicat生成激活码错误)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS3…

    2022年3月26日
    70
  • 各厂商服务器存储默认管理口登录信息(默认IP、用户名、密码)收集

    各厂商服务器存储默认管理口登录信息(默认IP、用户名、密码)收集在此收集了一些厂商的服务器存储设备的默认管理口信息,以供大家日后运维时方便查找,若有错误的地方请指正,谢谢!服务器管理口信息:设备类型 设备型号 默认管理IP 默认用户名 默认密码 IBM服务器 IBMP小型机ASMI hmc1:192.168.2.147 hmc2:192.168.3.147 admin admin I…

    2022年4月29日
    131
  • 简单的爬取百度图片,一页

    简单的爬取百度图片,一页

    2021年9月17日
    50

发表回复

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

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