Artikel Directory
MySQL databaseHvordan bruger man where statement? hvor klausul flere betingede syntaks
MySQL WHERE-klausul
Vi ved at bruge SQL SELECT-sætning til at læse data fra MySQL-tabellen.
Hvis du vil betinget vælge data fra en tabel, skal du tilføje et WHERE-udtryk til SELECT-sætningen.
grammatik
Følgende er den generelle syntaks for en SQL SELECT-sætning til at læse data fra en datatabel ved hjælp af WHERE-sætningen:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- Du kan bruge en eller flere tabeller i forespørgselssætningen ved at bruge kommaer mellem tabellerne, Opdel, og brug WHERE-sætningen til at angive forespørgselsbetingelser.
- Du kan angive en hvilken som helst betingelse i WHERE-udtrykket.
- Du kan angive en eller flere betingelser ved at bruge OG eller ELLER.
- WHERE-sætningen kan også bruges med SQL's DELETE- eller UPDATE-kommandoer.
- WHERE-sætningen ligner if-betingelsen i proceduresprog og læser de angivne data i henhold til feltværdien i MySQL-tabellen.
Det følgende er en liste over operatorer, der kan bruges i WHERE-sætningen.
Eksemplerne i tabellen nedenfor antager, at A er 10 og B er 20
| Operatør | 描述 | Instans |
|---|---|---|
| = | Lige tegn, kontrollerer om to værdier er ens og returnerer sandt hvis de er ens | (A = B) returnerer falsk. |
| <>, != | Ikke ens, tjek om to værdier er ens, returner sand hvis de ikke er ens | (A != B) returnerer sandt. |
| > | Større end fortegn, tjek om værdien til venstre er større end værdien til højre, hvis værdien til venstre er større end værdien til højre, returneres sand | (A > B) returnerer falsk. |
| < | Mindre end-tegn, tjek om værdien til venstre er mindre end værdien til højre, hvis værdien til venstre er mindre end værdien til højre, returneres sand | (A < B) returnerer sandt. |
| >= | Større end eller lighedstegn, tjek om værdien til venstre er større end eller lig med værdien til højre, hvis værdien til venstre er større end eller lig med værdien til højre, returneres sand | (A >= B) returnerer falsk. |
| <= | Mindre end eller lighedstegn, tjek om værdien til venstre er mindre end eller lig med værdien til højre, hvis værdien til venstre er mindre end eller lig med værdien til højre, returneres sand | (A <= B) returnerer sand. |
WHERE-sætningen er meget nyttig, hvis vi ønsker at læse de specificerede data fra MySQL-datatabellen.
Det er meget hurtigt at bruge den primære nøgle som en betinget forespørgsel i WHERE-sætningen.
Hvis de givne kriterier ikke har nogen matchende poster i tabellen, returnerer forespørgslen ingen data.
læse data fra kommandoprompten
Vi vil bruge WHERE-sætningen i SQL SELECT-sætningen til at læse dataene i MySQL-datatabellen chenweiliang_tbl:
Instans
Følgende eksempel vil læse alle poster i chenweiliang_tbl-tabellen, hvor værdien af chenweiliang_author-feltet er Sanjay:
SQL SELECT WHERE-sætning
Strengsammenligninger i MySQL's WHERE-sætning er ufølsomme for store og små bogstaver.Du kan bruge nøgleordet BINARY til at angive, at strengsammenligninger i WHERE-sætningen skelner mellem store og små bogstaver.
Følgende eksempel:
BINÆRT søgeord
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)
brugt i eksemplet Binary søgeord, skelner mellem store og små bogstaver, så chenweiliang_author='chenweiliang.com' Forespørgselsbetingelsen er ingen data.
Læs data ved hjælp af PHP-script
Du kan bruge PHP-funktionen mysqli_query() og den samme SQL SELECT-kommando med en WHERE-sætning for at hente dataene.
Denne funktion bruges til at udføre SQL-kommandoer og derefter udlæse alle de forespurgte data gennem PHP-funktionen mysqli_fetch_array().
Instans
Følgende eksempel vender tilbage fra chenweiliang_tbl-tabellen ved at bruge chenweiliang_author-feltværdien som chenweiliang.com registrering af:
MySQL WHERE klausul test:
<?
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/ ) delte "Hvordan bruger jeg MySQL where-erklæringen? hvor klausul Multiple Condition Syntax", for at hjælpe dig.
Velkommen til at dele linket til denne artikel:https://www.chenweiliang.com/cwl-462.html
For at låse op for flere skjulte tricks🔑, velkommen til at blive en del af vores Telegram-kanal!
Del og like hvis du kan lide det! Dine delinger og likes er vores fortsatte motivation!