MySQLi - WHERE-Klausel

Wir haben SQL gesehen SELECTBefehl zum Abrufen von Daten aus der MySQLi-Tabelle. Wir können eine Bedingungsklausel namens verwendenWHEREKlausel zum Herausfiltern von Ergebnissen. Mit der WHERE-Klausel können wir Auswahlkriterien angeben, um die erforderlichen Datensätze aus einer Tabelle auszuwählen.

Syntax

Hier ist die generische SQL-Syntax des SELECT-Befehls mit der WHERE-Klausel zum Abrufen von Daten aus der MySQLi-Tabelle:

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • Sie können eine oder mehrere durch Kommas getrennte Tabellen verwenden, um verschiedene Bedingungen mithilfe einer WHERE-Klausel einzuschließen. Die WHERE-Klausel ist jedoch ein optionaler Bestandteil des SELECT-Befehls.

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

  • Sie können mit mehr als einer Bedingung angeben AND oder OR Betreiber.

  • Eine WHERE-Klausel kann zusammen mit dem SQL-Befehl DELETE oder UPDATE verwendet werden, um auch eine Bedingung anzugeben.

Das WHEREKlausel funktioniert wie eine if-Bedingung in einer beliebigen Programmiersprache. Diese Klausel wird verwendet, um den angegebenen Wert mit dem in der MySQLi-Tabelle verfügbaren Feldwert zu vergleichen. Wenn der angegebene Wert von außen dem verfügbaren Feldwert in der MySQLi-Tabelle entspricht, wird diese Zeile zurückgegeben.

Hier ist die Liste der Operatoren, mit denen verwendet werden kann WHERE Klausel.

Angenommen, Feld A enthält 10 und Feld B enthält 20, dann -

Operator Beschreibung Beispiel
= Überprüft, ob die Werte von zwei Operanden gleich sind oder nicht. Wenn ja, wird die Bedingung wahr. (A = B) ist nicht wahr.
! = Überprüft, ob die Werte von zwei Operanden gleich sind oder nicht. Wenn die Werte nicht gleich sind, wird die Bedingung wahr. (A! = B) ist wahr.
> Überprüft, ob der Wert des linken Operanden größer als der Wert des rechten Operanden ist. Wenn ja, wird die Bedingung wahr. (A> B) ist nicht wahr.
< Überprüft, ob der Wert des linken Operanden kleiner als der Wert des rechten Operanden ist. Wenn ja, wird die Bedingung wahr. (A <B) ist wahr.
> = Überprüft, ob der Wert des linken Operanden größer oder gleich dem Wert des rechten Operanden ist. Wenn ja, wird die Bedingung wahr. (A> = B) ist nicht wahr.
<= Überprüft, ob der Wert des linken Operanden kleiner oder gleich dem Wert des rechten Operanden ist. Wenn ja, wird die Bedingung wahr. (A <= B) ist wahr.

Die WHERE-Klausel ist sehr nützlich, wenn Sie ausgewählte Zeilen aus einer Tabelle abrufen möchten, insbesondere wenn Sie sie verwenden MySQLi Join. Joins werden in einem anderen Kapitel behandelt.

Es ist üblich, Datensätze mit zu durchsuchen Primary Key um die Suche schnell zu machen.

Wenn die angegebene Bedingung keinem Datensatz in der Tabelle entspricht, gibt die Abfrage keine Zeile zurück.

Abrufen von Daten von der Eingabeaufforderung

Dies verwendet den SQL SELECT-Befehl mit der WHERE-Klausel, um ausgewählte Daten aus der MySQLi-Tabelle tutorials_inf abzurufen.

Beispiel

Das folgende Beispiel gibt alle Datensätze von zurück tutorials_inf Tabelle für welchen Namen ist sai - -

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

mysql> use TUTORIALS;
Database changed

mysql>SELECT * from tutorials_inf where name = 'sai';
+----+------+
| id | name |
+----+------+
|  1 | SAI  |
+----+------+
1 row in set (0.00 sec)

mysql>

Es sei denn, Sie führen eine LIKEBeim Vergleich einer Zeichenfolge wird nicht zwischen Groß- und Kleinschreibung unterschieden. Sie können Ihre Suche mithilfe von Groß- und Kleinschreibung unterscheidenBINARY Schlüsselwort wie folgt -

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

mysql> use TUTORIALS;
Database changed

mysql> SELECT * from tutorials_inf \WHERE BINARY name = 'sai';
Empty set (0.02 sec)

mysql>

Abrufen von Daten mit PHP-Skript:

Sie können denselben SQL SELECT-Befehl mit WHERE CLAUSE in der PHP-Funktion verwenden mysqli_query().

Beispiel

Das folgende Beispiel gibt alle Datensätze von zurück tutorials_inf Tabelle für welchen Namen ist sai - -

<?php
   $dbhost = 'localhost:3306';
   $dbuser = 'root';
   $dbpass = '';
   $dbname = 'TUTORIALS';
   $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);
   
   if(! $conn ) {
      die('Could not connect: ' . mysqli_error());
   }
   echo 'Connected successfully<br>';
   $sql = 'SELECT * from tutorials_inf where name="sai"';
   $result = mysqli_query($conn, $sql);

   if (mysqli_num_rows($result) > 0) {
      while($row = mysqli_fetch_assoc($result)) {
         echo "Name: " . $row["name"]. "<br>";
      }
   } else {
      echo "0 results";
   }
   mysqli_close($conn);
?>

Die Beispielausgabe sollte folgendermaßen aussehen:

Connected successfully
Name: SAI