MariaDB - Abfrage löschen
Der Befehl DELETE löscht Tabellenzeilen aus der angegebenen Tabelle und gibt die gelöschte Menge zurück. Greifen Sie mit der Funktion ROW_COUNT () auf die gelöschte Menge zu. Eine WHERE-Klausel gibt Zeilen an, und in Abwesenheit werden alle Zeilen gelöscht. Eine LIMIT-Klausel steuert die Anzahl der gelöschten Zeilen.
In einer DELETE-Anweisung für mehrere Zeilen werden nur die Zeilen gelöscht, die eine Bedingung erfüllen. und LIMIT- und WHERE-Klauseln sind nicht zulässig. DELETE-Anweisungen ermöglichen das Löschen von Zeilen aus Tabellen in verschiedenen Datenbanken, jedoch nicht das Löschen aus einer Tabelle und das anschließende Auswählen aus derselben Tabelle innerhalb einer Unterabfrage.
Überprüfen Sie die folgende DELETE-Syntax:
DELETE FROM table_name [WHERE …]
Führen Sie einen DELETE-Befehl entweder an der Eingabeaufforderung oder mithilfe eines PHP-Skripts aus.
Die Eingabeaufforderung
Verwenden Sie an der Eingabeaufforderung einfach einen Standardbefehl -
root@host# mysql –u root –p password;
Enter password:*******
mysql> use PRODUCTS;
Database changed
mysql> DELETE FROM products_tbl WHERE product_id=133;
mysql> SELECT * from products_tbl WHERE ID_number='133';
ERROR 1032 (HY000): Can't find record in 'products_tbl'
PHP Delete Query Script
Verwenden Sie die mysql_query() Funktion in DELETE-Befehlsanweisungen -
<?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 products_tbl WHERE product_id = 261';
mysql_select_db('PRODUCTS');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not delete data: ' . mysql_error());
}
echo "Deleted data successfully\n";
mysql_close($conn);
?>
Nach erfolgreichem Löschen der Daten wird die folgende Ausgabe angezeigt:
mysql> Deleted data successfully
mysql> SELECT * from products_tbl WHERE ID_number='261';
ERROR 1032 (HY000): Can't find record in 'products_tbl'