晚上,女兒眼噙淚水躺在床上
女兒:你口口聲聲說愛我,說陪我,卻天天想著騙我零花錢,你是我親爹嗎?
我:你想知道真相
女兒:想!
我:那你先給爸爸兩百塊錢!
5.6.51
5.7.36
8.0.15
8.0.16
8.0.17
8.0.30
當下最新版本
關於表別名,相信大家都不陌生;指定表別名是為了簡化 SQL ,使可讀性更強
語法如下
AS 可以省略
應用到 tbl_user 上則是
不僅表可以指定別名,列也可以指定別名,這裡就不展開了
對於 DELETE ,相信大家已經非常熟悉了
單表語法如下
多表語法如下
SELECT 的時候,我們經常用表的別名
單表查詢的時候
尤其是在連表查詢的時候
那麼 DELETE 的時候可以用別名嗎,我們來試試
通常情況下,刪除語句這麼寫的
如果加上別名了,該怎麼寫
可能大家覺得很簡單,樓主也覺得是如下這麼寫的
很有可能執行報錯,提示如下資訊
我們來看下在 MySQL 各個版本的執行情況
可以看到,在 8.0.16 之前是會報錯的
那 8.0.16 之前的正確寫法應該是怎樣的了,如下所示
當然, 8.0.16 及之後也是支援這兩種寫法的
也許是因為呼聲太高,從 8.0.16 開始支援如下寫法
官方說明delete
和單表刪除基本一致,語法格式如下
刪除 zhangsan 的登入紀錄檔,可以這麼寫
8.0.16 及之後是不是還可以這麼寫?
大家去試試,然後想想為什麼
1、單表刪除的時候就別用別名了, SQL 更精簡
2、如果要用別名,推薦用如下其中一種
更具通用性,方便遷移,而
需要 8.0.16 及之後版本才支援
3、連表刪除的最後那個問題,大家可以從 從哪些表刪除 來思考,對比下官方給的案例
應該就能想到答案了