Kuidas kasutada MySQL-i kus avaldust? kus klausel mitu tingimuslikku süntaksit

MySQL andmebaasKuidas kus avaldust kasutada? kus klausel mitu tingimuslikku süntaksit

MySQL KUS klausel

Teame kasutada MySQL-i tabelist andmete lugemiseks SQL SELECT-lauset.

Tabelist andmete tingimuslikuks valimiseks lisage SELECT-lausele WHERE-klausel.

grammatika

Järgmine on SQL SELECT-lause üldine süntaks andmete lugemiseks andmetabelist, kasutades WHERE-klauslit:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • Päringulauses saate kasutada ühte või mitut tabelit, kasutades tabelite vahel komasid, Tükeldage ja kasutage päringutingimuste määramiseks käsku WHERE.
  • Klauslis WHERE saate määrata mis tahes tingimuse.
  • Saate määrata ühe või mitu tingimust kasutades JA või VÕI.
  • WHERE-klauslit saab kasutada ka SQL-i käskudega DELETE või UPDATE.
  • WHERE-klausel sarnaneb programmeerimiskeele tingimusega if, lugedes määratud andmeid vastavalt välja väärtusele MySQL-i tabelis.

Järgnevalt on loetletud operaatorid, mida saab WHERE-klauslis kasutada.

Allolevas tabelis olevad näited eeldavad, et A on 10 ja B on 20

operaatorkirjeldusEsimese astme
=Võrdsusmärk, kontrollib, kas kaks väärtust on võrdsed, ja tagastab tõene, kui need on võrdsed(A = B) tagastab vale.
<>, !=Pole võrdne, kontrollige, kas need kaks väärtust on võrdsed, kui mitte, tagastage tõene(A != B) tagastab tõene.
>Suurem kui märk, kontrolli, kas vasakpoolne väärtus on suurem kui parempoolne väärtus, kui vasakpoolne väärtus on suurem kui parempoolne väärtus, tagasta tõene(A > B) tagastab vale.
<Vähem kui märk, kontrolli, kas vasakpoolne väärtus on väiksem kui parempoolne väärtus, kui vasakpoolne väärtus on väiksem kui parempoolne väärtus, tagasta tõene(A < B) tagastab tõene.
>=Suurem või võrdusmärk, kontrollige, kas vasakpoolne väärtus on suurem või võrdne parempoolse väärtusega, kui vasakpoolne väärtus on suurem või võrdne parempoolse väärtusega, tagastage tõene(A >= B) tagastab vale.
<=Väiksem või võrdusmärk, kontrollige, kas vasakpoolne väärtus on väiksem või võrdne parempoolse väärtusega, kui vasakpoolne väärtus on väiksem või võrdne parempoolse väärtusega, tagastage tõene(A <= B) tagastab tõene.

WHERE-klausel on väga kasulik, kui tahame lugeda määratud andmeid MySQL-i andmetabelist.

Primaarvõtme kasutamine tingimuspäringuna WHERE-klauslis on väga kiire.

Kui antud kriteeriumidel pole tabelis ühtegi sobivat kirjet, ei tagasta päring andmeid.


lugeda käsurealt andmeid

Kasutame MySQL-i andmetabelis chenweiliang_tbl olevate andmete lugemiseks SQL SELECT-lause klauslit WHERE:

Esimese astme

Järgmine näide loeb kõiki tabelis chenweiliang_tbl olevaid kirjeid, kus välja chenweiliang_author väärtus on Sanjay:

SQL SELECT WHERE klausel

SELECT * Alates chenweiliang_tbl KUS chenweiliang_autor="Chen Weiliang博客";

Stringide võrdlused MySQL-i WHERE-klauslis ei ole tõstutundlikud.Märksõna BINARY abil saate määrata, et WHERE-klausli stringide võrdlused on tõstutundlikud.

Järgmine näide:

BINAARNE märksõna

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)

kasutatud näites Binaarne märksõna, on tõstutundlik, seega chenweiliang_author='chenweiliang.com' Päringu tingimuseks on andmed puuduvad.


Lugege andmeid PHP skripti abil

Andmete hankimiseks saate kasutada PHP funktsiooni mysqli_query() ja sama SQL SELECT käsku koos WHERE-klausliga.

Seda funktsiooni kasutatakse SQL-käskude täitmiseks ja seejärel kõigi päringuandmete väljastamiseks PHP funktsiooni mysqli_fetch_array() kaudu.

Esimese astme

Järgmine näide naaseb tabelist chenweiliang_tbl, kasutades välja väärtust chenweiliang_author kui chenweiliang.com rekord:

MySQL WHERE klausli 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);
?>

发表 评论

您的邮箱地址不会被公开. Kasutatakse kohustuslikke välju * Silt

Leidke Top