开心一刻

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

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

  我:你想知道真相

  女儿:想!

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

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

环境准备

  MySQL 不同版本

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

5.5.62

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

5.6.51

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

5.7.36

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

8.0.15

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

8.0.16

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

8.0.17

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

8.0.30

    当下最新版本

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

  库与表

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

Table aliases

SQL

  语法如下

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

AS

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

tbl_user

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

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

DELETE

DELETE

  单表语法如下

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花_不同版本_13

  多表语法如下

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花_不同版本_14

DELETE + Table aliases

SELECT

  单表查询的时候

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

  尤其是在连表查询的时候

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花_不同版本_16

DELETE

  单表删除

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

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

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

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

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

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

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花_不同版本_19

MySQL

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

8.0.16

8.0.16

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

8.0.16

8.0.16

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

  官方说明​​delete​

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

  连表删除

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

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

 

zhangsan

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花_不同版本_25

8.0.16

当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花_不同版本_26

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

总结

SQL

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

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

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

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

8.0.16

从哪些表删除

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

    应该就能想到答案了

参考

  ​​DELETE Statement​