MySQL - DELETE-Abfrage

Wenn Sie einen Datensatz aus einer MySQL-Tabelle löschen möchten, können Sie den SQL-Befehl verwenden DELETE FROM. Sie können diesen Befehl an der Eingabeaufforderung mysql> sowie in jedem Skript wie PHP verwenden.

Syntax

Der folgende Codeblock verfügt über eine generische SQL-Syntax des Befehls DELETE zum Löschen von Daten aus einer MySQL-Tabelle.

DELETE FROM table_name [WHERE Clause]
  • Wenn die WHERE-Klausel nicht angegeben ist, werden alle Datensätze aus der angegebenen MySQL-Tabelle gelöscht.

  • Sie können jede Bedingung mit der WHERE-Klausel angeben.

  • Sie können Datensätze in einer einzelnen Tabelle gleichzeitig löschen.

Die WHERE-Klausel ist sehr nützlich, wenn Sie ausgewählte Zeilen in einer Tabelle löschen möchten.

Daten von der Eingabeaufforderung löschen

Dies verwendet den SQL DELETE-Befehl mit der WHERE-Klausel, um ausgewählte Daten in der MySQL-Tabelle zu löschen. tutorials_tbl.

Beispiel

Im folgenden Beispiel wird ein Datensatz aus dem tutorial_tbl gelöscht, dessen tutorial_id 3 ist.

root@host# mysql -u root -p password;
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> DELETE FROM tutorials_tbl WHERE tutorial_id=3;
Query OK, 1 row affected (0.23 sec)

mysql>

Daten mit einem PHP-Skript löschen

Sie können den SQL DELETE-Befehl mit oder ohne WHERE CLAUSE in der PHP-Funktion verwenden - mysql_query(). Diese Funktion führt den SQL-Befehl auf die gleiche Weise aus, wie er an der Eingabeaufforderung mysql> ausgeführt wird.

Beispiel

Versuchen Sie das folgende Beispiel, um einen Datensatz aus dem tutorial_tbl zu löschen, dessen tutorial_id 3 ist.

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }

   $sql = 'DELETE FROM tutorials_tbl WHERE tutorial_id = 3';

   mysql_select_db('TUTORIALS');
   $retval = mysql_query( $sql, $conn );

   if(! $retval ) {
      die('Could not delete data: ' . mysql_error());
   }
   echo "Deleted data successfully\n";
   mysql_close($conn);
?>