ไดเรกทอรีบทความ
ฐานข้อมูล MySQLวิธีการใช้คำสั่ง where? โดยที่ประโยคประโยคเงื่อนไขหลายประโยค
MySQL WHERE ข้อ
เรารู้ว่าจะใช้คำสั่ง SQL SELECT เพื่ออ่านข้อมูลจากตาราง MySQL
ในการเลือกข้อมูลจากตารางแบบมีเงื่อนไข ให้เพิ่มส่วนคำสั่ง WHERE ลงในคำสั่ง SELECT
ไวยากรณ์
ต่อไปนี้เป็นรูปแบบทั่วไปของคำสั่ง SQL SELECT เพื่ออ่านข้อมูลจากตารางข้อมูลโดยใช้คำสั่ง WHERE:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- คุณสามารถใช้ตารางอย่างน้อยหนึ่งตารางในคำสั่งแบบสอบถาม โดยใช้เครื่องหมายจุลภาคระหว่าง table, แยกและใช้คำสั่ง WHERE เพื่อกำหนดเงื่อนไขคิวรี
- คุณสามารถระบุเงื่อนไขใดๆ ในส่วนคำสั่ง WHERE
- คุณสามารถระบุอย่างน้อยหนึ่งเงื่อนไขโดยใช้ AND หรือ OR
- ส่วนคำสั่ง WHERE สามารถใช้กับคำสั่ง DELETE หรือ UPDATE ของ SQL
- ส่วนคำสั่ง WHERE จะคล้ายกับเงื่อนไข if ในภาษาการเขียนโปรแกรม โดยจะอ่านข้อมูลที่ระบุตามค่าฟิลด์ในตาราง MySQL
ต่อไปนี้คือรายการตัวดำเนินการที่สามารถใช้ในอนุประโยค WHERE
ตัวอย่างในตารางด้านล่างถือว่า A คือ 10 และ B คือ 20
| โอเปอเรเตอร์ | ลักษณะ | ตัวอย่าง |
|---|---|---|
| = | เครื่องหมายเท่ากับ ตรวจสอบว่าสองค่าเท่ากันหรือไม่ และคืนค่า จริง หากมีค่าเท่ากัน | (A = B) คืนค่าเท็จ |
| <>, != | ไม่เท่ากัน ตรวจสอบว่าทั้งสองค่าเท่ากันหรือไม่ ถ้าไม่ให้คืนค่า true | (A != B) คืนค่าเป็นจริง |
| > | มากกว่าเครื่องหมาย ตรวจสอบว่าค่าทางด้านซ้ายมากกว่าค่าทางด้านขวาหรือไม่ ถ้าค่าทางด้านซ้ายมากกว่าค่าทางด้านขวา ให้คืนค่า จริง | (A > B) คืนค่าเท็จ |
| < | น้อยกว่าเครื่องหมาย ตรวจสอบว่าค่าทางด้านซ้ายน้อยกว่าค่าทางด้านขวาหรือไม่ ถ้าค่าทางด้านซ้ายน้อยกว่าค่าทางด้านขวาให้คืนค่า จริง | (A < B) คืนค่าเป็นจริง |
| >= | เครื่องหมายมากกว่าหรือเท่ากับ ตรวจสอบว่าค่าทางด้านซ้ายมากกว่าหรือเท่ากับค่าทางด้านขวา หากค่าทางด้านซ้ายมากกว่าหรือเท่ากับค่าทางด้านขวาให้คืนค่า จริง | (A >= B) คืนค่าเท็จ |
| <= | เครื่องหมายน้อยกว่าหรือเท่ากับ ตรวจสอบว่าค่าทางด้านซ้ายน้อยกว่าหรือเท่ากับค่าทางด้านขวา หากค่าทางด้านซ้ายน้อยกว่าหรือเท่ากับค่าทางด้านขวาให้คืนค่าจริง | (A <= B) คืนค่าเป็นจริง |
ส่วนคำสั่ง WHERE มีประโยชน์มากหากเราต้องการอ่านข้อมูลที่ระบุจากตารางข้อมูล MySQL
การใช้คีย์หลักเป็นการสืบค้นแบบมีเงื่อนไขในส่วนคำสั่ง WHERE นั้นรวดเร็วมาก
ถ้าเกณฑ์ที่กำหนดไม่มีระเบียนที่ตรงกันในตาราง คิวรีจะไม่ส่งกลับข้อมูล
อ่านข้อมูลจากพรอมต์คำสั่ง
เราจะใช้ส่วนคำสั่ง WHERE ในคำสั่ง SQL SELECT เพื่ออ่านข้อมูลในตารางข้อมูล MySQL chenweiliang_tbl:
ตัวอย่าง
ตัวอย่างต่อไปนี้จะอ่านบันทึกทั้งหมดในตาราง chenweiliang_tbl โดยที่ค่าของฟิลด์ chenweiliang_author คือ Sanjay:
SQL SELECT WHERE ข้อ
การเปรียบเทียบสตริงในส่วนคำสั่ง WHERE ของ MySQL ไม่คำนึงถึงขนาดตัวพิมพ์คุณสามารถใช้คีย์เวิร์ด BINARY เพื่อระบุการเปรียบเทียบสตริงในส่วนคำสั่ง WHERE ที่คำนึงถึงขนาดตัวพิมพ์
ตัวอย่างต่อไปนี้:
คำหลักไบนารี
mysql> SELECT * from chenweiliang_tbl WHERE BINARY chenweiliang_author='chenweiliang.com'; Empty set (0.01 sec) mysql> SELECT * from chenweiliang_tbl WHERE BINARY chenweiliang_author='chenweiliang.com'; +-----------+---------------+---------------+-----------------+ | chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date | +-----------+---------------+---------------+-----------------+ | 3 | JAVA 教程 | chenweiliang.com | 2016-05-06 | | 4 | 学习 Python | chenweiliang.com | 2016-03-06 | +-----------+---------------+---------------+-----------------+ 2 rows in set (0.01 sec)
ที่ใช้ในตัวอย่าง ไบนารี่ คีย์เวิร์ด ตรงตามตัวพิมพ์ใหญ่-เล็ก ดังนั้น chenweiliang_author='chenweiliang.com' เงื่อนไขการสืบค้นไม่มีข้อมูล
อ่านข้อมูลโดยใช้สคริปต์ PHP
คุณสามารถใช้ฟังก์ชัน PHP mysqli_query() และคำสั่ง SQL SELECT เดียวกันกับส่วนคำสั่ง WHERE เพื่อรับข้อมูล
ฟังก์ชันนี้ใช้เพื่อรันคำสั่ง SQL แล้วส่งออกข้อมูลที่สอบถามทั้งหมดผ่านฟังก์ชัน PHP mysqli_fetch_array()
ตัวอย่าง
ตัวอย่างต่อไปนี้จะส่งคืนจากตาราง chenweiliang_tbl โดยใช้ค่าฟิลด์ chenweiliang_author เป็น chenweiliang.คอม บันทึกของ:
MySQL WHERE การทดสอบข้อ:
<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
// 读取 chenweiliang_author 为 chenweiliang.com 的数据
$sql = 'SELECT chenweiliang_id, chenweiliang_title,
chenweiliang_author, submission_date
FROM chenweiliang_tbl
WHERE chenweiliang_author="chenweiliang.com"';
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 MySQL WHERE 子句测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
echo "<tr><td> {$row['chenweiliang_id']}</td> ".
"<td>{$row['chenweiliang_title']} </td> ".
"<td>{$row['chenweiliang_author']} </td> ".
"<td>{$row['submission_date']} </td> ".
"</tr>";
}
echo '</table>';
// 释放内存
mysqli_free_result($retval);
mysqli_close($conn);
?>หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ ) แชร์ "วิธีการใช้คำสั่ง MySQL ที่ไหน? โดยที่ประโยคเงื่อนไขหลายเงื่อนไข" เพื่อช่วยคุณ
ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-462.html
