MariaDB - Wo Klausel
WHEREKlauseln filtern verschiedene Anweisungen wie SELECT, UPDATE, DELETE und INSERT. Sie präsentieren Kriterien zur Angabe der Aktion. Sie werden normalerweise nach einem Tabellennamen in einer Anweisung angezeigt, und ihre Bedingung folgt. Die WHERE-Klausel funktioniert im Wesentlichen wie eine if-Anweisung.
Überprüfen Sie die allgemeine Syntax der unten angegebenen WHERE-Klausel -
[COMMAND] field,field2,... FROM table_name,table_name2,... WHERE [CONDITION]
Beachten Sie die folgenden Eigenschaften der WHERE-Klausel:
Es ist optional.
Hiermit kann jede Bedingung angegeben werden.
Es ermöglicht die Angabe mehrerer Bedingungen mithilfe eines UND- oder ODER-Operators.
Die Groß- und Kleinschreibung gilt nur für Aussagen, die LIKE-Vergleiche verwenden.
Die WHERE-Klausel erlaubt die Verwendung der folgenden Operatoren:
Operator |
---|
=! = |
> < |
> = <= |
WHERE-Klauseln können an der Eingabeaufforderung oder in einem PHP-Skript verwendet werden.
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> SELECT * from products_tbl WHERE product_manufacturer = 'XYZ Corp';
+-------------+----------------+----------------------+
| ID_number | Nomenclature | product_manufacturer |
+-------------+----------------+----------------------+
| 12345 | Orbitron 4000 | XYZ Corp |
+-------------+----------------+----------------------+
| 12346 | Orbitron 3000 | XYZ Corp |
+-------------+----------------+----------------------+
| 12347 | Orbitron 1000 | XYZ Corp |
+-------------+----------------+----------------------+
Überprüfen Sie ein Beispiel mit dem AND Zustand -
SELECT *
FROM products_tbl
WHERE product_name = 'Bun Janshu 3000';
AND product_id <= 344;
In diesem Beispiel werden sowohl UND- als auch ODER-Bedingungen kombiniert
SELECT *
FROM products_tbl
WHERE (product_name = 'Bun Janshu 3000' AND product_id < 344)
OR (product_name = 'Bun Janshu 3000');
PHP-Skripte mit Where-Klausel
Beschäftige die mysql_query() Funktion in Operationen mit einer WHERE-Klausel -
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT product_id, product_name, product_manufacturer, ship_date
FROM products_tbl
WHERE product_manufacturer = "XYZ Corp"';
mysql_select_db('PRODUCTS');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
echo "Product ID :{$row['product_id']} <br> ".
"Name: {$row['product_name']} <br> ".
"Manufacturer: {$row['product_manufacturer']} <br> ".
"Ship Date: {$row['ship_date']} <br> ".
"--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
Nach erfolgreichem Datenabruf wird die folgende Ausgabe angezeigt:
Product ID: 12345
Nomenclature: Orbitron 4000
Manufacturer: XYZ Corp
Ship Date: 01/01/17
----------------------------------------------
Product ID: 12346
Nomenclature: Orbitron 3000
Manufacturer: XYZ Corp
Ship Date: 01/02/17
----------------------------------------------
Product ID: 12347
Nomenclature: Orbitron 1000
Manufacturer: XYZ Corp
Ship Date: 01/02/17
----------------------------------------------
mysql> Fetched data successfully