最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫數(shù)據(jù)刪除操作詳解

 更新時(shí)間:2022年08月10日 08:19:09   作者:渴望力量的哈士奇  
本文我們將要學(xué)習(xí)的是作為刪除數(shù)據(jù)使用的?“DELETE”?語句,“DELETE”?語句是用來刪除數(shù)據(jù)的,它不能用來刪除數(shù)據(jù)表本身。刪除數(shù)據(jù)表使用的是?“DROP”?語句,而?“DELETE”?的作用只是用來刪除記錄而已

DELETE 語句

DELETE 語句用于刪除記錄,語法如下:(與 “UPDATE” 語法較為相似)

DELETE [IGNORE] FROM 表名
WHERE 條件1, 條件2, .....
ORDER BY ......
LIMIT ......;

-- 使用 IGNORE 關(guān)鍵字時(shí),當(dāng)存在外鍵約束組織我們刪除記錄,那么則會(huì)忽略刪除該條數(shù)據(jù)
-- 使用 WHERE 子句刪除條件范圍內(nèi)的記錄;如果不使用 WHERE 子句,則是刪除全表范圍
-- 使用 ORDER BY 關(guān)鍵字,將被刪除的記錄進(jìn)行排序以后,產(chǎn)出符合條件的一些數(shù)據(jù)
-- 使用 LIMIT 關(guān)鍵字依然是分頁的意思,

“DELETE” 語句執(zhí)行的順序:FROM ---> WHERE ---> ORDER BY ---> LIMIT ---> DELETE

DELETE 語句練習(xí)①

刪除 10 部門中,工齡超過 20 年的員工記錄 (這個(gè)比較簡單,只涉及到一張表)

DELETE FROM  t_emp 	
WHERE deptno = 10 
AND DATEDIFF(NOW(), hiredate)/365 >= 20;

DELETE 語句練習(xí)②

刪除 20 部門中工資最高的員工記錄(除了使用 WHERE 子句過濾出 20 部門中員工之外,還需要根據(jù)工資 進(jìn)行 降序 排列,并刪除最高的記錄)

DELETE FROM  t_emp 	
WHERE deptno = 20 
ORDER BY sal+IFNULL(comm,0) DESC
LIMIT 1;

"DELETE" 語句的語法還是很簡單的,在有了 "UPDATE" 語句的基礎(chǔ)之后再來看待 "DELETE" 語句就比較好理解了,因?yàn)檫@些子句都差不太多。

DELETE 語句的表連接(內(nèi)連接)

因?yàn)橄嚓P(guān)子查詢效率非常的低下,所以我們可以利用表連接的方式來提高 DELETE 語句的刪除效率。

“DELETE” SQL語句的內(nèi)連接語法如下:

DELETE 表1, ...... FROM 表1 JOIN 表2 ON 條件
WHERE 條件1, 條件2, ......
ORDER BY ......
LIMIT ......

-- 需要注意的是,這里的 "WHERE"、"ORDER BY"、"LIMIT" 子句都是可選條件

DELETE 語句的表連接練習(xí)①

刪除 SALES 部門和該部門的全部員工記錄

分析:刪除兩張表的記錄

分析:使用 一個(gè) DELETE 語句刪除兩張表記錄,可以使用表連接的方式(參考上文語法)

分析:屬于 SALES 部門的員工記錄未知,需要先試用條件查詢過濾出 SALES 部門的員工記錄

DELETE e, d
FROM t_emp e JOIN t_dept d ON e.deptno=d.deptno
WHERE d.dname="SALES";

DELETE 語句的表連接練習(xí)②

刪除每個(gè)低于部門平均底薪的員工記錄

分析:依然使用表連接,因?yàn)槭紫刃枰ゲ樵儾块T進(jìn)行分組,查詢部門的編號(hào)與平均底薪。

分析:將查詢到的結(jié)果集作為一張表和 "員工表" 做連接,連接條件就是員工的 "部門編號(hào)",還有一個(gè)條件就是員工的月薪要低于部門的平均底薪

DELETE e
FROM t_emp e JOIN (SELECT deptno, AVG(sal) AS avg FROM t_emp GROUP BY deptno) t
ON e.deptno=t.deptno 
AND e.sal < t.avg;

DELETE 語句的表連接練習(xí)③

刪除員工 “KING” 和 他的下屬的員工記錄,用表連接來實(shí)現(xiàn)

分析:用 "WHERE" 子句查找 "ename" 為 "KING" 的員工記錄

分析:將查到的 "KING" 的員工記錄與員工表的 "mgr" 字段為 "KING" 的 "員工編號(hào)" 做連接

DELETE e
FROM t_emp e JOIN (SELECT empno FROM t_emp WHERE ename="KING") t
ON e.mgr=t.empno OR e.empno=t.empno;

DELETE 語句的表連接(外連接)

“DELETE” 語句的表連接既可以是內(nèi)連接,也可以是外連接。

“DELETE” SQL語句的外連接語法如下:

DELETE 表1, ...... FROM 表1 [LEFT | RIGHT] JOIN 表2 ON 條件
WHERE 條件1, 條件2, ......
ORDER BY ......
LIMIT ......

-- 需要注意的是,這里的 "WHERE"、"ORDER BY"、"LIMIT" 子句都是可選條件
-- 除了 在連接表 的時(shí)候選擇 "LEFT JOIN" 與 "RIGHT JOIN" 的區(qū)別之外,其他的與內(nèi)連接的語法一樣

DELETE 語句的外連接練習(xí)

刪除 “SALES” 部門的員工,以及沒有部門的員工。

分析:使用 "左外連接" 與 部門表進(jìn)行連接,因?yàn)?"員工表" 中的 "張三" 是沒有部門的;所以要保留下來,與部門表進(jìn)行連接。

DELETE e
FROM t_emp e LEFT JOIN t_dept d ON e.deptno=d.deptno
WHERE d.dname="SALES" OR e.deptno IS NULL

速刪除表中的全部數(shù)據(jù)

“DELETE” 語句是在事務(wù)機(jī)制下刪除記錄(什么是 “事務(wù)機(jī)制” 會(huì)在后續(xù)文章詳細(xì)介紹),刪除記錄之前,先要將刪除的記錄保存到日志文件里,然后再刪除記錄。當(dāng)使用 “DELETE” 去刪除海量數(shù)據(jù)的時(shí)候,“事務(wù)機(jī)制” 會(huì)讓刪除的速度變得很慢。

“TRUNCATE” 語句在 “事務(wù)機(jī)制” 之外刪除記錄,執(zhí)行速度要遠(yuǎn)遠(yuǎn)地超過 “DELETE” 語句。

“TRUNCATE” 語法如下:

TRUNCATE TABLE 表名;

-- 需要注意的是,"TRUNCATE"  語句一次只能清空一張數(shù)據(jù)表,不能夠一次性的清空多張數(shù)據(jù)表。
TRUNCATE TABLE t_emp ;

MySQL 刪除語句小節(jié)

語句 功能
drop 語句刪除數(shù)據(jù)庫和表
drop 數(shù)據(jù)庫名;
drop 表名;
delete 語句刪除表中的記錄
delete from weibo_user where username=“xiaomu”;
注意:delete語句中如果沒有加入where條件,將會(huì)把表中的所有記錄全部刪除
update set 語句修改和更新語句,更新時(shí)也會(huì)覆蓋(刪除)原來的值
update set與where搭配使用,變更某些記錄
注意::update set語句中如果沒有where子句指定其變更的條件,將就會(huì)把數(shù)據(jù)庫中這個(gè)字段的所有值都更新
alert 語句刪除字段:alter table 表名 drop 字段名;
刪除主鍵:alter table 表名 drop primary key ;
更新表名:alter table 表名 rename to 新表名;

以上就是MySQL數(shù)據(jù)庫數(shù)據(jù)刪除操作詳解的詳細(xì)內(nèi)容,更多關(guān)于MySQL數(shù)據(jù)刪除的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL用作備份還原的導(dǎo)入和導(dǎo)出命令用法整理

    MySQL用作備份還原的導(dǎo)入和導(dǎo)出命令用法整理

    這篇文章主要介紹了MySQL用作備份還原的導(dǎo)入和導(dǎo)出命令用法整理,包括mysqldump的命令的使用以及l(fā)oad data相關(guān)命令,需要的朋友可以參考下
    2015-12-12
  • MySQL該如何判斷不為空詳析

    MySQL該如何判斷不為空詳析

    在MySQL數(shù)據(jù)庫中,在不同的情形下,空值往往代表不同的含義,這是MySQL數(shù)據(jù)庫的一種特性,下面這篇文章主要給大家介紹了關(guān)于MySQL該如何判斷不為空的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • 詳解windows下mysql的主從同步

    詳解windows下mysql的主從同步

    本文主要對(duì)windows下的mysql主從同步進(jìn)行詳細(xì)介紹。具有很好的參考價(jià)值,需要的朋友一起來看下吧
    2016-12-12
  • mysql 8.0.11 MSI版安裝配置圖文教程

    mysql 8.0.11 MSI版安裝配置圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0.11 MSI版安裝配置圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Mysql恢復(fù)誤刪庫表數(shù)據(jù)完整場景演示

    Mysql恢復(fù)誤刪庫表數(shù)據(jù)完整場景演示

    在開發(fā)和在生產(chǎn)中總會(huì)出現(xiàn)各種各樣的失誤和意味,當(dāng)MySQL的數(shù)據(jù)或表被刪除后不要慌,下面這篇文章主要給大家介紹了關(guān)于Mysql恢復(fù)誤刪庫表數(shù)據(jù)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • MySQL 編碼機(jī)制

    MySQL 編碼機(jī)制

    一般在MYSQL使用中文查詢 都是用 set NAMES character
    2008-12-12
  • MySQL之xtrabackup備份恢復(fù)的實(shí)現(xiàn)

    MySQL之xtrabackup備份恢復(fù)的實(shí)現(xiàn)

    本文主要介紹了MySQL之xtrabackup備份恢復(fù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Mysql報(bào)錯(cuò)too many connections的原因及解決方案

    Mysql報(bào)錯(cuò)too many connections的原因及解決方案

    這篇文章主要給大家介紹了關(guān)于Mysql報(bào)錯(cuò)too many connections原因及解決方案,文中通過實(shí)例代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • mysql觸發(fā)器之創(chuàng)建使用觸發(fā)器簡單示例

    mysql觸發(fā)器之創(chuàng)建使用觸發(fā)器簡單示例

    這篇文章主要介紹了mysql觸發(fā)器之創(chuàng)建使用觸發(fā)器,結(jié)合實(shí)例形式分析了mysql創(chuàng)建、查看、調(diào)用觸發(fā)器的相關(guān)操作技巧,需要的朋友可以參考下
    2019-12-12
  • MySQL 8.0.26版本升級(jí)32版本查詢數(shù)據(jù)為空的解決方案

    MySQL 8.0.26版本升級(jí)32版本查詢數(shù)據(jù)為空的解決方案

    這篇文章主要介紹了MySQL 8.0.26版本升級(jí)32版本查詢數(shù)據(jù)為空的跟蹤,本文給大家分享兩種解決方法,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2024-03-03

最新評(píng)論

揭西县| 宿松县| 龙山县| 闻喜县| 湖南省| 山东省| 府谷县| 柳河县| 益阳市| 阜新| 十堰市| 乌什县| 武汉市| 宣恩县| 华坪县| 门头沟区| 迭部县| 绥中县| 武平县| 万载县| 宝山区| 荥阳市| 云阳县| 毕节市| 洛川县| 阆中市| 油尖旺区| 丽江市| 聂荣县| 定远县| 保定市| 平顺县| 孙吴县| 汾阳市| 介休市| 博湖县| 晴隆县| 灵璧县| 星座| 广德县| 白城市|