MySQLi - Klausul WHERE

Kami telah melihat SQL SELECTperintah untuk mengambil data dari tabel MySQLi. Kita dapat menggunakan klausa bersyarat yang disebutWHEREklausa untuk menyaring hasil. Menggunakan klausa WHERE, kita dapat menentukan kriteria pemilihan untuk memilih rekaman yang diperlukan dari tabel.

Sintaksis

Berikut adalah sintaks SQL generik dari perintah SELECT dengan klausa WHERE untuk mengambil data dari tabel MySQLi -

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • Anda dapat menggunakan satu atau lebih tabel yang dipisahkan dengan koma untuk memasukkan berbagai kondisi menggunakan klausa WHERE, tetapi klausa WHERE adalah bagian opsional dari perintah SELECT.

  • Anda dapat menentukan kondisi apapun menggunakan klausa WHERE.

  • Anda dapat menentukan lebih dari satu ketentuan menggunakan AND atau OR operator.

  • Klausa WHERE dapat digunakan bersama dengan perintah DELETE atau UPDATE SQL juga untuk menentukan kondisi.

Itu WHEREklausa berfungsi seperti kondisi if dalam bahasa pemrograman apa pun. Klausa ini digunakan untuk membandingkan nilai yang diberikan dengan nilai bidang yang tersedia di tabel MySQLi. Jika nilai yang diberikan dari luar sama dengan nilai bidang yang tersedia di tabel MySQLi, maka baris tersebut akan dikembalikan.

Berikut adalah daftar operator yang dapat digunakan dengan WHERE ayat.

Asumsikan bidang A menampung 10 dan bidang B menampung 20, lalu -

Operator Deskripsi Contoh
= Memeriksa apakah nilai dari dua operan sama atau tidak, jika ya maka kondisinya menjadi benar. (A = B) tidak benar.
! = Memeriksa apakah nilai dari dua operan sama atau tidak, jika nilai tidak sama maka kondisi menjadi benar. (A! = B) benar.
> Memeriksa apakah nilai operan kiri lebih besar dari nilai operan kanan, jika ya maka kondisi menjadi benar. (A> B) tidak benar.
< Memeriksa apakah nilai operan kiri kurang dari nilai operan kanan, jika ya maka kondisinya menjadi benar. (A <B) benar.
> = Memeriksa apakah nilai operan kiri lebih besar dari atau sama dengan nilai operan kanan, jika ya maka kondisi menjadi benar. (A> = B) tidak benar.
<= Memeriksa apakah nilai operan kiri kurang dari atau sama dengan nilai operan kanan, jika ya maka kondisi menjadi benar. (A <= B) benar.

Klausa WHERE sangat berguna saat Anda ingin mengambil baris yang dipilih dari tabel, terutama saat Anda menggunakannya MySQLi Join. Gabungan dibahas di bab lain.

Mencari record menggunakan Primary Key untuk melakukan pencarian dengan cepat.

Jika kondisi yang diberikan tidak cocok dengan rekaman apa pun dalam tabel, maka kueri tidak akan mengembalikan baris apa pun.

Mengambil Data dari Command Prompt

Ini akan menggunakan perintah SQL SELECT dengan klausa WHERE untuk mengambil data yang dipilih dari tabel MySQLi tutorials_inf.

Contoh

Contoh berikut akan mengembalikan semua catatan dari tutorials_inf tabel yang namanya 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>

Kecuali melakukan a LIKEperbandingan pada sebuah string, perbandingan tersebut tidak case sensitive. Anda dapat membuat penelusuran case sensitif menggunakanBINARY kata kunci sebagai berikut -

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>

Mengambil Data Menggunakan Script PHP:

Anda dapat menggunakan perintah SQL SELECT yang sama dengan WHERE CLAUSE ke dalam fungsi PHP mysqli_query().

Contoh

Contoh berikut akan mengembalikan semua catatan dari tutorials_inf tabel yang namanya 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);
?>

Output sampel harus seperti ini -

Connected successfully
Name: SAI