Rumah  >  Artikel  >  pangkalan data  >  Artikel yang menerangkan cara menggunakan klausa MySQL WHERE dengan mahir

Artikel yang menerangkan cara menggunakan klausa MySQL WHERE dengan mahir

藏色散人
藏色散人ke hadapan
2023-04-01 06:30:011743semak imbas

Artikel ini membawakan anda pengetahuan yang berkaitan tentang MySQL, yang terutamanya memperkenalkan penggunaan klausa MySQL WHERE Rakan-rakan yang berminat boleh lihat di bawah.

Artikel yang menerangkan cara menggunakan klausa MySQL WHERE dengan mahir

MySQL WHERE klausa

Kami tahu menggunakan pernyataan SQL SELECT untuk membaca data daripada jadual MySQL.

Untuk memilih data secara bersyarat daripada jadual, tambah klausa WHERE pada pernyataan SELECT.

Sintaks

Berikut ialah sintaks umum pernyataan SQL SELECT untuk membaca data daripada jadual data menggunakan klausa WHERE:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • Dalam pernyataan pertanyaan anda boleh Gunakan satu atau lebih jadual, pisahkan dengan koma dan gunakan pernyataan WHERE untuk menetapkan syarat pertanyaan.
  • Anda boleh menentukan sebarang syarat dalam klausa WHERE.
  • Anda boleh menentukan satu atau lebih syarat menggunakan DAN atau ATAU.
  • Klausa WHERE juga boleh digunakan pada perintah SQL DELETE atau UPDATE.
  • Klausa WHERE adalah serupa dengan keadaan if dalam bahasa pengaturcaraan, membaca data yang ditentukan berdasarkan nilai medan dalam jadual MySQL.

Berikut ialah senarai pengendali yang boleh digunakan dalam klausa WHERE.

Contoh dalam jadual berikut menganggap bahawa A ialah 10 dan B ialah 20

操作符 描述 实例
= 等号,检测两个值是否相等,如果相等返回true (A = B) 返回false。
a8093152e673feb7aba1828c43532094, != 不等于,检测两个值是否相等,如果不相等返回true (A != B) 返回 true。
大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true (A > B) 返回false。
8eb5f8b3d5ac0196016e4931dec4b1ad= 大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true (A >= B) 返回false。
<= 小于等于号,检测左边的值是否小于或等于右边的值, 如果左边的值小于或等于右边的值返回true (A <= B) 返回 true。

Jika kita ingin membaca data yang ditentukan dalam jadual data MySQL, klausa WHERE sangat berguna .

Menggunakan kunci utama sebagai pertanyaan bersyarat dalam klausa WHERE adalah sangat pantas.

Jika kriteria yang diberikan tidak mempunyai sebarang rekod yang sepadan dalam jadual, maka pertanyaan tidak akan mengembalikan sebarang data.


Membaca data daripada command prompt

Kami akan menggunakan klausa WHERE dalam pernyataan SQL SELECT untuk membaca data dalam jadual data MySQL kxdang_tbl:

Contoh

Contoh berikut akan membaca semua rekod dalam jadual kxdang_tbl dengan nilai medan kxdang_author ialah Sanjay:

Klausa SQL SELECT WHERE

SELECT * from kxdang_tbl WHERE kxdang_author='菜鸟教程';

Hasil output:

Perbandingan rentetan klausa WHERE MySQL tidak peka huruf besar-kecil. Anda boleh menggunakan kata kunci BINARI untuk membuat perbandingan rentetan dalam klausa WHERE peka huruf besar-besaran.

Contoh berikut:

Kata kunci BINARI

mysql> SELECT * from kxdang_tbl WHERE BINARY kxdang_author=&#39;kxdang.com&#39;;
Empty set (0.01 sec)
 
mysql> SELECT * from kxdang_tbl WHERE BINARY kxdang_author=&#39;RUNOOB.COM&#39;;
+-----------+---------------+---------------+-----------------+
| kxdang_id | kxdang_title  | kxdang_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 3         | JAVA 教程   | RUNOOB.COM    | 2016-05-06      |
| 4         | 学习 Python | RUNOOB.COM    | 2016-03-06      |
+-----------+---------------+---------------+-----------------+
2 rows in set (0.01 sec)

Contoh menggunakan kata kunci BINARI, yang sensitif huruf besar-besaran, jadi kxdang_author='kxdang.com' tiada data.


Gunakan skrip PHP untuk membaca data

Anda boleh menggunakan fungsi PHP mysqli_query() dan perintah SQL SELECT yang sama dengan klausa WHERE untuk mendapatkan data.

Fungsi ini digunakan untuk melaksanakan perintah SQL dan kemudian mengeluarkan semua data pertanyaan melalui fungsi PHP mysqli_fetch_array().

Contoh

Contoh berikut akan mengembalikan rekod dengan nilai medan kxdang_author sebagai RUNOOB.COM daripada jadual kxdang_tbl:

Ujian klausa MySQL WHERE:

<?php
$dbhost = &#39;localhost&#39;;  // mysql服务器主机地址
$dbuser = &#39;root&#39;;            // mysql用户名
$dbpass = &#39;123456&#39;;          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die(&#39;连接失败: &#39; . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
// 读取 kxdang_author 为 RUNOOB.COM 的数据
$sql = &#39;SELECT kxdang_id, kxdang_title, 
        kxdang_author, submission_date
        FROM kxdang_tbl
        WHERE kxdang_author="RUNOOB.COM"&#39;;
 
mysqli_select_db( $conn, &#39;RUNOOB&#39; );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die(&#39;无法读取数据: &#39; . mysqli_error($conn));
}
echo &#39;<h2>菜鸟教程 MySQL WHERE 子句测试<h2>&#39;;
echo &#39;<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>&#39;;
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
{
    echo "<tr><td> {$row[&#39;kxdang_id&#39;]}</td> ".
         "<td>{$row[&#39;kxdang_title&#39;]} </td> ".
         "<td>{$row[&#39;kxdang_author&#39;]} </td> ".
         "<td>{$row[&#39;submission_date&#39;]} </td> ".
         "</tr>";
}
echo &#39;</table>&#39;;
// 释放内存
mysqli_free_result($retval);
mysqli_close($conn);
?>
Pembelajaran yang disyorkan: "

Tutorial Video MySQL"

Atas ialah kandungan terperinci Artikel yang menerangkan cara menggunakan klausa MySQL WHERE dengan mahir. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.im. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:apa itu mysqlgaArtikel seterusnya:apa itu mysqlga