Cikkkönyvtár
MySQL adatbázisHogyan kell használni a hol kifejezést? ahol a záradék többszörös feltételes szintaxisa
MySQL WHERE záradék
Tudjuk, hogy az SQL SELECT utasítást kell használni a MySQL táblából való adatok olvasásához.
Adatok feltételes táblából való kiválasztásához adjon hozzá egy WHERE záradékot a SELECT utasításhoz.
nyelvtan
A következő egy SQL SELECT utasítás általános szintaxisa, amely az adattáblázatból a WHERE záradék használatával olvassa be az adatokat:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- A lekérdezési utasításban egy vagy több táblát használhat, vesszőt használva a táblák között, Ossza fel, és használja a WHERE utasítást a lekérdezési feltételek beállításához.
- A WHERE záradékban bármilyen feltételt megadhat.
- Egy vagy több feltételt megadhat az ÉS vagy a VAGY gombbal.
- A WHERE záradék az SQL DELETE vagy UPDATE parancsaival is használható.
- A WHERE záradék hasonló a programnyelv if feltételéhez, a MySQL tábla mezőértéke szerint olvassa be a megadott adatokat.
Az alábbiakban felsoroljuk a WHERE záradékban használható operátorokat.
Az alábbi táblázatban szereplő példák feltételezik, hogy A 10 és B 20
| operátor | leírás | Példa |
|---|---|---|
| = | Egyenlő jel, ellenőrzi, hogy két érték egyenlő-e, és igazat ad vissza, ha egyenlők | (A = B) hamis értéket ad vissza. |
| <>, != | Nem egyenlő, ellenőrizze, hogy a két érték egyenlő-e, ha nem, adja vissza igazat | (A != B) igazat ad vissza. |
| > | Előjelnél nagyobb, ellenőrizze, hogy a bal oldali érték nagyobb-e, mint a jobb oldali érték, ha a bal oldali érték nagyobb, mint a jobb oldali érték, akkor igazat ad vissza | (A > B) hamis értéket ad vissza. |
| < | Kisebb, mint jel, ellenőrizze, hogy a bal oldali érték kisebb-e, mint a jobb oldali érték, ha a bal oldali érték kisebb, mint a jobb oldali érték, adja vissza igazat | (A < B) igazat ad vissza. |
| >= | Nagyobb vagy egyenlőségjel, ellenőrizze, hogy a bal oldali érték nagyobb-e vagy egyenlő-e a jobb oldali értékkel, ha a bal oldali érték nagyobb vagy egyenlő, mint a jobb oldali érték, adja vissza igaz | (A >= B) hamis értéket ad vissza. |
| <= | Kisebb vagy egyenlőségjel, ellenőrizze, hogy a bal oldali érték kisebb-e vagy egyenlő-e a jobb oldali értékkel, ha a bal oldali érték kisebb vagy egyenlő, mint a jobb oldali érték, adja vissza igaz | (A <= B) igazat ad vissza. |
A WHERE záradék nagyon hasznos, ha a megadott adatokat a MySQL adattáblából szeretnénk kiolvasni.
Az elsődleges kulcs használata feltételes lekérdezésként a WHERE záradékban nagyon gyors.
Ha az adott feltételeknek nincs egyező rekordja a táblában, a lekérdezés nem ad vissza adatokat.
adatok olvasása a parancssorból
Az SQL SELECT utasításban található WHERE záradékot fogjuk használni a chenweiliang_tbl MySQL adattábla adatainak olvasásához:
Példa
A következő példa beolvassa a chenweiliang_tbl tábla összes rekordját, ahol a chenweiliang_author mező értéke Sanjay:
SQL SELECT WHERE záradék
A MySQL WHERE záradékában szereplő karakterlánc-összehasonlítások nem tesznek különbséget a kis- és nagybetűk között.A BINARY kulcsszó használatával megadhatja, hogy a WHERE záradékban szereplő karakterlánc-összehasonlítások megkülönböztetik a kis- és nagybetűket.
A következő példa:
BINÁRIS kulcsszó
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)
a példában használt kétkomponensű kulcsszó megkülönbözteti a kis- és nagybetűket, tehát chenweiliang_author='chenweiliang.com' A lekérdezési feltétel: nincs adat.
Adatok olvasása PHP szkript segítségével
Az adatok lekéréséhez használhatja a PHP mysqli_query() függvényét és ugyanazt az SQL SELECT parancsot WHERE záradékkal.
Ez a függvény SQL parancsok végrehajtására szolgál, majd az összes lekérdezett adat kiadására a PHP mysqli_fetch_array() függvényen keresztül.
Példa
A következő példa a chenweiliang_tbl táblából fog visszatérni a chenweiliang_author mező értékével, mint chenweiliang.com feljegyzése, nyilvántartása valaminek:
MySQL WHERE záradék teszt:
<?
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);
?>Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) megosztott "Hogyan kell használni a MySQL where utasítást? ahol Clause Multiple Condition Syntax", hogy segítsünk.
Üdvözöljük a cikk linkjének megosztásában:https://www.chenweiliang.com/cwl-462.html
