当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」开心一刻 晚上,女儿眼噙泪水躺在床上 女儿:你口口声声说爱我,说陪我,却天天想着骗我零花钱,你是我亲爹吗? 我:你想知道真相 女儿:想! 我:那你先给爸爸两百块钱! 环境准备 MySQL 不同版本 利

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花

开心一刻

  晚上,女儿眼噙泪水躺在床上

  女儿:你口口声声说爱我,说陪我,却天天想着骗我零花钱,你是我亲爹吗?

  我:你想知道真相

  女儿:想!

  我:那你先给爸爸两百块钱!

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

环境准备

  MySQL 不同版本

  利用 docker 搭建了 7 个不同版本的 MySQL 

   5.5.62 

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

   5.6.51 

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

   5.7.36 

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

   8.0.15 

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

   8.0.16 

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

   8.0.17 

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

   8.0.30 

    当下最新版本

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  库与表

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

Table aliases

  关于表别名,相信大家都不陌生;指定表别名是为了简化 SQL ,使可读性更强

  语法如下

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

   AS 可以省略

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  应用到 tbl_user 上则是

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  不仅表可以指定别名,列也可以指定别名,这里就不展开了

DELETE

  对于 DELETE ,相信大家已经非常熟悉了

  单表语法如下

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  多表语法如下

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

DELETE + Table aliases

   SELECT 的时候,我们经常用表的别名

  单表查询的时候

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  尤其是在连表查询的时候

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  那么 DELETE 的时候可以用别名吗,我们来试试

  单表删除

  通常情况下,删除语句这么写的

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  如果加上别名了,该怎么写

  可能大家觉得很简单,楼主也觉得是如下这么写的

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  很有可能执行报错,提示如下信息

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  我们来看下在 MySQL 各个版本的执行情况

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  可以看到,在 8.0.16 之前是会报错的

  那 8.0.16 之前的正确写法应该是怎样的了,如下所示

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  当然, 8.0.16 及之后也是支持这两种写法的

  也许是因为呼声太高,从 8.0.16 开始支持如下写法

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  官方说明delete

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  连表删除

  和单表删除基本一致,语法格式如下

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

 

   删除 zhangsan 的登录日志,可以这么写

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

   8.0.16 及之后是不是还可以这么写?

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

  大家去试试,然后想想为什么

总结

  1、单表删除的时候就别用别名了, SQL 更精简

  2、如果要用别名,推荐用如下其中一种

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

    更具通用性,方便迁移,而

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

    需要 8.0.16 及之后版本才支持

  3、连表删除的最后那个问题,大家可以从 从哪些表删除 来思考,对比下官方给的案例

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花「建议收藏」

    应该就能想到答案了

参考

  DELETE Statement

原文地址:https://www.cnblogs.com/youzhibing/archive/2022/09/13/16648672.html

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

(0)
上一篇 2023-06-05
下一篇 2023-06-05

相关推荐

  • Python编程:用代码重塑世界

    Python编程:用代码重塑世界Python作为一种高级编程语言,因为其简单易学、多功能性和强大的库支持而受到广泛的欢迎。Python编程技能已经成为当前IT和计算机科学领域最为基础的技能之一。它在日常生活中的应用越来越多,涉及面也越来越广泛,从网络编程、科学计算、自然语言处理到机器学习和人工智能等等。Python代码编写的可读性和易维护性也使其成为一个理想的解决方案。

    2024-01-09
    102
  • Spark-submit常用任务命令参数和说明[亲测有效]

    Spark-submit常用任务命令参数和说明[亲测有效]Spark常用任务命令参数和说明 spark-submit –name task2018072711591669 –master yarn –deploy-mode client –

    2023-03-18
    149
  • 数据库未来发展趋势(下)「终于解决」

    数据库未来发展趋势(下)「终于解决」新应用驱动的数据库(5G、车、终端云) 从数据库诞生开始,新的应用领域就不断为数据库带来新诉求,例如巨大的数据量、更短的数据处理时间、更高的可靠性、新的数据类型,而数据库也在满足这些新的诉求的同时得…

    2023-04-13
    183
  • 数据库管理与高可用第四章备份与恢复

    数据库管理与高可用第四章备份与恢复数据库管理与高可用第四章备份与恢复1.MySQL的完全备份mysqldump命令备份数据库◆备份单个库语法:mysqldump-u用户名-p[密码][选项][库名]>/备份路径/备份文件名例如:my…

    2023-04-05
    158
  • hive 存储的文件格式_怎么存储为web格式

    hive 存储的文件格式_怎么存储为web格式hive 存储格式有很多,但常用的一般是 TextFile、ORC、Parquet 格式,在我们单位最多的也是这三种 hive 默认的文件存储格式是 TextFile。 除 TextFile 外的其他

    2023-05-18
    139
  • 以Python为中心

    以Python为中心Python是一种高级动态类型编程语言。它具有简单易学、代码可读性高、易于维护、支持多种编程范式等优点,因此在广泛的应用领域中具有很高的人气。本文将从不同的方面阐述Python的优点和应用。

    2024-06-27
    52
  • mysqlbinlog 工具用法「终于解决」

    mysqlbinlog 工具用法「终于解决」打开binlog日志 /etc/my.cnf的[mysqld]下添加或修改 log-bin=mysql-bin 基本用法:mysqlbinlog binlog日志 –start-position=…

    2023-02-27
    165
  • TiKV 源码解析系列文章(十五)表达式计算框架[通俗易懂]

    TiKV 源码解析系列文章(十五)表达式计算框架[通俗易懂]作者:骆迪安 上一篇 《TiKV 源码解析系列文章(十四)Coprocessor 概览》讲到了 TiDB 为了最大化利用分布式计算能力,会尽量将 Selection 算子、聚合算子等算子下推到 Ti…

    2022-12-19
    139

发表回复

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