Heim  >  Artikel  >  Datenbank  >  So löschen Sie MySQL-Datenbankdaten

So löschen Sie MySQL-Datenbankdaten

WBOY
WBOYnach vorne
2023-05-28 23:06:502603Durchsuche

    DELETE-Anweisung

    DELETE-Anweisung wird zum Löschen von Datensätzen verwendet. Die Syntax ist wie folgt: (ähnlich der „UPDATE“-Syntax)

    DELETE [IGNORE] FROM 表名
    WHERE 条件1, 条件2, .....
    ORDER BY ......
    LIMIT ......;
    
    -- 使用 IGNORE 关键字时,当存在外键约束组织我们删除记录,那么则会忽略删除该条数据
    -- 使用 WHERE 子句删除条件范围内的记录;如果不使用 WHERE 子句,则是删除全表范围
    -- 使用 ORDER BY 关键字,将被删除的记录进行排序以后,产出符合条件的一些数据
    -- 使用 LIMIT 关键字依然是分页的意思,

    „DELETE“-Anweisungsausführungsreihenfolge:FROM ---> WHERE ---> ORDER BY ---> LIMIT ---> DELETE

    DELETE-Anweisungspraxis ①

    Löschen Sie 10 Datensätze von Mitarbeitern mit mehr als 20 Dienstjahren in der Abteilung (dies ist relativ einfach und umfasst nur eine Tabelle). Abteilungen (zusätzlich zur Filterung über die WHERE-Klausel ist zusätzlich zu den 20 Mitarbeitern der Abteilung auch eine absteigende Sortierung nach Gehalt und das Löschen des höchsten Datensatzes erforderlich)

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

    So löschen Sie MySQL-Datenbankdaten

    Die Syntax des „DELETE "-Anweisung ist immer noch sehr einfach. Beginnen wir, nachdem wir die Grundlage der „UPDATE“-Anweisung haben. Es ist leichter zu verstehen, wenn man sich die „DELETE“-Anweisung ansieht, da diese Klauseln nicht viel anders sind.

    Tabellenverknüpfung (innere Verknüpfung) der DELETE-Anweisung

    Da die Effizienz korrelierter Unterabfragen sehr gering ist, können wir Tabellenverknüpfung verwenden, um die Löscheffizienz der DELETE-Anweisung zu verbessern. So löschen Sie MySQL-Datenbankdaten

    Die Inner-Join-Syntax der SQL-Anweisung „DELETE“ lautet wie folgt:

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

    Tabellenverbindungsübung für die DELETE-Anweisung ①

    Löschen Sie die Vertriebsabteilung und alle Mitarbeiterdatensätze in dieser Abteilung.

    Analyse: Löschen Sie die Datensätze der zwei Tabellen

    Analyse: Eine DELETE-Anweisung löscht zwei Tabellendatensätze. Sie können die Tabellenverbindung verwenden (siehe obige Syntax).

    Analyse: Die zur VERKAUFSabteilung gehörenden Mitarbeiterdatensätze müssen zuerst verwendet werden Abfrage, um die Mitarbeiterdatensätze der Vertriebsabteilung herauszufiltern Analyse: Verwenden Sie weiterhin die Tabellenverbindung, da Sie zunächst die Abteilung für die Gruppierung, die Abteilungsnummer und das durchschnittliche Grundgehalt abfragen müssen.

    Analyse: Verwenden Sie die abgefragte Ergebnismenge als Tabelle, um sie mit der „Mitarbeitertabelle“ zu verbinden. Eine weitere Bedingung ist, dass das monatliche Gehalt des Mitarbeiters niedriger sein muss als das durchschnittliche Grundgehalt des Mitarbeiters Abteilung

    DELETE 表1, ...... FROM 表1 JOIN 表2 ON 条件
    WHERE 条件1, 条件2, ......
    ORDER BY ......
    LIMIT ......
    
    -- 需要注意的是,这里的 "WHERE"、"ORDER BY"、"LIMIT" 子句都是可选条件

    Tabellenverbindungsübung für DELETE-Anweisung ③

    Mitarbeiterdatensätze des Mitarbeiters „KING“ und seiner Untergebenen löschen, Tabellenverbindung zur Implementierung verwenden So löschen Sie MySQL-Datenbankdaten

    Analyse: Verwenden Sie die „WHERE“-Klausel, um Mitarbeiter zu finden, deren „ename“ lautet „KING“-Datensatz

    So löschen Sie MySQL-DatenbankdatenAnalyse: Verbinden Sie den gefundenen Mitarbeiterdatensatz von „KING“ mit der „Mitarbeiternummer“, deren „mgr“-Feld „KING“ in der Mitarbeitertabelle ist

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

    So löschen Sie MySQL-Datenbankdaten

    DELETE-Anweisungstabellenverbindung (äußere Verbindung)

    Der Tabellen-Join der „DELETE“-Anweisung kann entweder ein Inner-Join oder ein Outer-Join sein.

    Die Outer-Join-Syntax der SQL-Anweisung „DELETE“ lautet wie folgt:

    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;

    Outer-Join-Übung der DELETE-Anweisung

    Löschen Sie Mitarbeiter in der Abteilung „VERKAUF“ sowie Mitarbeiter ohne Abteilungen. So löschen Sie MySQL-Datenbankdaten

    Analyse: Verwenden Sie „Left Outer Join“, um eine Verbindung mit der Abteilungstabelle herzustellen, da „Zhang San“ in der „Mitarbeitertabelle“ keine Abteilung hat und daher beibehalten und mit der Abteilungstabelle verbunden werden sollte.

    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;

    Löschen Sie schnell alle Daten in der Tabelle

    So löschen Sie MySQL-Datenbankdaten Die „DELETE“-Anweisung löscht Datensätze unter dem Transaktionsmechanismus (was der „Transaktionsmechanismus“ ist, wird vor dem Löschen ausführlich vorgestellt). Um Datensätze zu löschen, müssen Sie zunächst die gelöschten Datensätze in der Protokolldatei speichern und dann die Datensätze löschen. Wenn „DELETE“ zum Löschen großer Datenmengen verwendet wird, verlangsamt der Transaktionsmechanismus den Löschvorgang.

    Die „TRUNCATE“-Anweisung löscht Datensätze außerhalb des „Transaktionsmechanismus“ und ihre Ausführungsgeschwindigkeit ist viel schneller als die „DELETE“-Anweisung.

    "TRUNCATE" Die Syntax lautet wie folgt:

    DELETE 表1, ...... FROM 表1 [LEFT | RIGHT] JOIN 表2 ON 条件
    WHERE 条件1, 条件2, ......
    ORDER BY ......
    LIMIT ......
    
    -- 需要注意的是,这里的 "WHERE"、"ORDER BY"、"LIMIT" 子句都是可选条件
    -- 除了 在连接表 的时候选择 "LEFT JOIN" 与 "RIGHT JOIN" 的区别之外,其他的与内连接的语法一样
    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

    MySQL-Abschnitt „Anweisung löschen“

    Verwenden Sie den Update-Satz mit „where“, um bestimmte Datensätze zu ändern be Update alert-Anweisung
    Anweisung Funktion
    Anweisung löschen Datenbank und Tabelle löschen
    Datenbanknamen löschen;
    Tabellennamen löschen;
    Anweisung löschen Tabellendatensatz löschen
    löschen aus weibo_user where username=“xiaomu“;
    Hinweis: Wenn die Where-Bedingung nicht zur Löschanweisung hinzugefügt wird, werden alle Datensätze in der Tabelle gelöscht Überschreiben (löschen) Sie den ursprünglichen Wert.

    Feld löschen: Tabellennamen ändern, Feldnamen löschen;
    Tabellennamen ändern: Tabellennamen ändern, in neuen Tabellennamen umbenennen;

    Das obige ist der detaillierte Inhalt vonSo löschen Sie MySQL-Datenbankdaten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen