Article Directory
MySQL baza podatakaKako koristiti where izjavu? gdje sintaksa više uvjeta klauzule
MySQL WHERE klauzula
Znamo da koristimo SQL SELECT izraz za čitanje podataka iz MySQL tablice.
Da biste uvjetno odabrali podatke iz tablice, dodajte klauzulu WHERE u SELECT izraz.
gramatika
Slijedi opća sintaksa SQL SELECT naredbe za čitanje podataka iz tablice podataka koristeći klauzulu WHERE:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- Možete koristiti jednu ili više tabela u naredbi upita, koristeći zareze između tabela, Podijelite i koristite naredbu WHERE za postavljanje uvjeta upita.
- Možete specificirati bilo koji uvjet u klauzuli WHERE.
- Možete specificirati jedan ili više uslova pomoću AND ili OR.
- Klauzula WHERE se također može koristiti sa SQL-ovim naredbama DELETE ili UPDATE.
- Klauzula WHERE je slična if uvjetu u proceduralnim jezicima i čita navedene podatke prema vrijednosti polja u MySQL tabeli.
Slijedi lista operatora koji se mogu koristiti u klauzuli WHERE.
Primeri u tabeli ispod pretpostavljaju da je A 10, a B 20
| operater | opis | Instance |
|---|---|---|
| = | Znak jednakosti, provjerava da li su dvije vrijednosti jednake i vraća true ako su jednake | (A = B) vraća false. |
| <>, != | Nije jednako, provjerite da li su dvije vrijednosti jednake, ako nisu, vratite true | (A != B) vraća true. |
| > | Znak veće od, provjerite da li je vrijednost na lijevoj strani veća od vrijednosti na desnoj strani, ako je vrijednost na lijevoj strani veća od vrijednosti na desnoj strani, vratite true | (A > B) vraća false. |
| < | Manje od znaka, provjerite da li je vrijednost na lijevoj strani manja od vrijednosti na desnoj strani, ako je vrijednost na lijevoj strani manja od vrijednosti na desnoj strani, vratite true | (A < B) vraća true. |
| >= | Predznak veće ili jednako, provjerite da li je vrijednost na lijevoj strani veća ili jednaka vrijednosti na desnoj strani, ako je vrijednost na lijevoj strani veća ili jednaka vrijednosti na desnoj strani, vrati true | (A >= B) vraća false. |
| <= | Znak manje ili jednako, provjerite da li je vrijednost na lijevoj strani manja ili jednaka vrijednosti na desnoj strani, ako je vrijednost na lijevoj strani manja ili jednaka vrijednosti na desnoj strani, vrati true | (A <= B) vraća true. |
Klauzula WHERE je vrlo korisna ako želimo pročitati navedene podatke iz MySQL tablice podataka.
Korišćenje primarnog ključa kao uslovnog upita u klauzuli WHERE je veoma brzo.
Ako dati kriterijumi nemaju nijedan podudarni zapis u tabeli, upit ne vraća podatke.
čitanje podataka iz komandne linije
Koristit ćemo klauzulu WHERE u SQL SELECT izrazu za čitanje podataka u MySQL tablici podataka chenweiliang_tbl:
Instance
Sljedeći primjer će pročitati sve zapise u tablici chenweiliang_tbl gdje je vrijednost polja chenweiliang_author Sanjay:
SQL SELECT WHERE klauzula
Poređenja nizova u MySQL-ovoj WHERE klauzuli su neosjetljiva na velika i mala slova.Možete koristiti ključnu riječ BINARY da odredite da su poređenja nizova u klauzuli WHERE osjetljiva na velika i mala slova.
Sljedeći primjer:
BINARNA ključna riječ
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)
korišteno u primjeru BINARNA ključna riječ je osjetljiva na velika i mala slova chenweiliang_author='chenweiliang.com' Uvjet upita je bez podataka.
Čitanje podataka pomoću PHP skripte
Možete koristiti PHP funkciju mysqli_query() i istu SQL naredbu SELECT sa klauzulom WHERE da biste dobili podatke.
Ova funkcija se koristi za izvršavanje SQL naredbi i zatim izlaz svih traženih podataka kroz PHP funkciju mysqli_fetch_array().
Instance
Sljedeći primjer će se vratiti iz tabele chenweiliang_tbl koristeći vrijednost polja chenweiliang_author kao chenweiliang.com zapis o:
MySQL WHERE test klauzule:
<?
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/ ) dijeli "Kako koristiti MySQL where naredbu? gdje sintaksa višestrukih uvjeta", da vam pomogne.
Dobrodošli da podijelite link ovog članka:https://www.chenweiliang.com/cwl-462.html
