Adresář článků
MySQL databázeJak použít příkaz where? kde vícenásobná podmíněná syntaxe klauzule
MySQL klauzule WHERE
Víme, že ke čtení dat z tabulky MySQL lze použít příkaz SQL SELECT.
Chcete-li podmíněně vybrat data z tabulky, přidejte do příkazu SELECT klauzuli WHERE.
gramatika
Následuje obecná syntaxe příkazu SQL SELECT pro čtení dat z datové tabulky pomocí klauzule WHERE:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- V příkazu dotazu můžete použít jednu nebo více tabulek pomocí čárek mezi tabulkami, Rozdělte a použijte příkaz WHERE k nastavení podmínek dotazu.
- V klauzuli WHERE můžete zadat libovolnou podmínku.
- Pomocí AND nebo OR můžete zadat jednu nebo více podmínek.
- Klauzuli WHERE lze také použít s příkazy SQL DELETE nebo UPDATE.
- Klauzule WHERE je podobná podmínce if v programovacím jazyce, čte zadaná data podle hodnoty pole v tabulce MySQL.
Následuje seznam operátorů, které lze použít v klauzuli WHERE.
Příklady v níže uvedené tabulce předpokládají, že A je 10 a B je 20
| Operátor | popis | Instance |
|---|---|---|
| = | Znaménko rovná se, zkontroluje, zda jsou dvě hodnoty stejné, a vrátí hodnotu true, pokud jsou stejné | (A = B) vrací false. |
| <>, != | Nerovná se, zkontrolujte, zda jsou dvě hodnoty stejné, vraťte hodnotu true, pokud se nerovnají | (A != B) vrací true. |
| > | Větší než znaménko, zkontrolujte, zda je hodnota vlevo větší než hodnota vpravo, pokud je hodnota vlevo větší než hodnota vpravo, vraťte true | (A > B) vrátí hodnotu false. |
| < | Znaménko menší než, zkontrolujte, zda je hodnota vlevo menší než hodnota vpravo, pokud je hodnota vlevo menší než hodnota vpravo, vraťte hodnotu true | (A < B) vrátí true. |
| >= | Větší než nebo rovnítko, zkontrolujte, zda je hodnota vlevo větší nebo rovna hodnotě vpravo, pokud je hodnota vlevo větší nebo rovna hodnotě vpravo, vraťte hodnotu true | (A >= B) vrací false. |
| <= | Znaménko menší nebo rovno, zkontrolujte, zda je hodnota vlevo menší nebo rovna hodnotě vpravo, pokud je hodnota vlevo menší nebo rovna hodnotě vpravo, vraťte hodnotu true | (A <= B) vrátí true. |
Klauzule WHERE je velmi užitečná, pokud chceme číst zadaná data z datové tabulky MySQL.
Použití primárního klíče jako podmíněného dotazu v klauzuli WHERE je velmi rychlé.
Pokud daná kritéria nemají v tabulce žádné odpovídající záznamy, dotaz nevrátí žádná data.
číst data z příkazového řádku
Klauzuli WHERE v příkazu SQL SELECT použijeme ke čtení dat v datové tabulce MySQL chenweiliang_tbl:
Instance
Následující příklad přečte všechny záznamy v tabulce chenweiliang_tbl, kde hodnota pole chenweiliang_author je Sanjay:
Klauzule SQL SELECT WHERE
Porovnání řetězců v klauzuli WHERE MySQL nerozlišují malá a velká písmena.Klíčové slovo BINARY můžete použít k určení, že porovnávání řetězců v klauzuli WHERE rozlišuje malá a velká písmena.
Následující příklad:
klíčové slovo BINARY
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)
použitý v příkladu Binární klíčové slovo, rozlišuje velká a malá písmena, takže chenweiliang_author='chenweiliang.com' Podmínka dotazu nejsou žádná data.
Čtení dat pomocí PHP skriptu
K získání dat můžete použít funkci PHP mysqli_query() a stejný příkaz SQL SELECT s klauzulí WHERE.
Tato funkce se používá k provádění příkazů SQL a následnému výstupu všech dotazovaných dat prostřednictvím funkce PHP mysqli_fetch_array().
Instance
Následující příklad se vrátí z tabulky chenweiliang_tbl pomocí hodnoty pole chenweiliang_author jako chenweiliang.com záznam o:
Test klauzule 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);
?>Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) shared "Jak používat příkaz MySQL where? kde klauzule Syntaxe více podmínek“, abychom vám pomohli.
Vítejte u sdílení odkazu na tento článek:https://www.chenweiliang.com/cwl-462.html
Chcete-li odemknout další skryté triky🔑, připojte se k našemu telegramovému kanálu!
Sdílejte a lajkujte, pokud se vám to líbí! Vaše sdílení a lajky jsou naší další motivací!