Cyfeiriadur Erthygl
Sut i ddefnyddio'r cymal WHERE yn MySQL ? Cystrawen ar gyfer amodau lluosog yn y cymal WHERE.
MySQL LLE cymal
Gwyddom ddefnyddio datganiad SQL SELECT i ddarllen data o dabl MySQL.
I ddewis data o dabl yn amodol, ychwanegwch gymal LLE i'r datganiad SELECT.
gramadeg
Mae'r canlynol yn gystrawen gyffredinol datganiad SQL SELECT i ddarllen data o dabl data gan ddefnyddio'r cymal WHERE:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- Gallwch ddefnyddio un neu fwy o dablau yn y datganiad ymholiad, gan ddefnyddio atalnodau rhwng tablau, Rhannwch, a defnyddiwch y datganiad WHERE i osod amodau ymholiad.
- Gallwch nodi unrhyw amod yn y cymal LLE.
- Gallwch nodi un neu fwy o amodau gan ddefnyddio AND neu OR.
- Gellir defnyddio'r cymal WHERE hefyd gyda gorchmynion DELETE neu UPDATE SQL.
- Mae'r cymal WHERE yn debyg i'r amod os mewn ieithoedd gweithdrefnol, ac yn darllen y data penodedig yn ôl y gwerth maes yn y tabl MySQL.
Mae'r canlynol yn rhestr o weithredwyr y gellir eu defnyddio yn y cymal LLE.
Mae’r enghreifftiau yn y tabl isod yn cymryd mai 10 yw A a B yw 20
| gweithredydd | disgrifiad | enghraifft |
|---|---|---|
| = | Arwydd cyfartal, yn gwirio a yw dau werth yn gyfartal, ac yn dychwelyd yn wir os ydynt yn gyfartal | (A = B) yn dychwelyd ffug. |
| <>,!= | Ddim yn gyfartal, gwiriwch a yw dau werth yn gyfartal, dychwelwch yn wir os nad ydynt yn gyfartal | (A! = B) yn dychwelyd yn wir. |
| > | Yn fwy nag arwydd, gwiriwch a yw'r gwerth ar y chwith yn fwy na'r gwerth ar y dde, os yw'r gwerth ar y chwith yn fwy na'r gwerth ar y dde, dychwelwch yn wir | (A> B) yn dychwelyd ffug. |
| < | Llai nag arwydd, gwiriwch a yw'r gwerth ar y chwith yn llai na'r gwerth ar y dde, os yw'r gwerth ar y chwith yn llai na'r gwerth ar y dde, dychwelwch wir | (A < B) yn dychwelyd yn wir. |
| >= | Arwydd mwy na neu gyfartal, gwiriwch a yw'r gwerth ar y chwith yn fwy neu'n hafal i'r gwerth ar y dde, os yw'r gwerth ar y chwith yn fwy na neu'n hafal i'r gwerth ar y dde, dychwelwch y gwir | (A >= B) yn dychwelyd ffug. |
| <= | Arwydd llai na neu gyfartal, gwiriwch a yw'r gwerth ar y chwith yn llai na neu'n hafal i'r gwerth ar y dde, os yw'r gwerth ar y chwith yn llai na neu'n hafal i'r gwerth ar y dde, dychwelwch yn wir | (A <= B) yn dychwelyd yn wir. |
Mae'r cymal WHERE yn ddefnyddiol iawn os ydym am ddarllen y data penodedig o'r tabl data MySQL.
Mae defnyddio'r allwedd gynradd fel ymholiad amodol yn y cymal LLE yn gyflym iawn.
Os nad oes gan y meini prawf a roddwyd unrhyw gofnodion cyfatebol yn y tabl, nid yw'r ymholiad yn dychwelyd unrhyw ddata.
darllen data o anogwr gorchymyn
Byddwn yn defnyddio'r cymal WHERE yn natganiad SQL SELECT i ddarllen y data yn nhabl data MySQL chenweiliang_tbl:
enghraifft
Bydd yr enghraifft ganlynol yn darllen yr holl gofnodion yn y tabl chenweiliang_tbl lle mae gwerth maes chenweiliang_author yn Sanjay:
SQL DEWISWCH LLE cymal
Mae cymariaethau llinynnol yng nghymal WHERE MySQL yn achos-ansensitif.Gallwch ddefnyddio'r allweddair DEuaidd i nodi bod cymariaethau llinynnol yn y cymal LLE yn achos-sensitif.
Yr enghraifft ganlynol:
allweddair 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)
Mae'r enghraifft yn defnyddio'r allweddair BINARY , sy'n sensitif i lythrennau mawr a mawr, felly nid yw'r amod ymholiad chenweiliang_author='chenweiliang.com' yn dychwelyd unrhyw ddata.
Darllen data gan ddefnyddio sgript PHP
Gallwch ddefnyddio'r swyddogaeth PHP mysqli_query() a'r un gorchymyn SQL SELECT gyda chymal BLE i gael y data.
Defnyddir y swyddogaeth hon i weithredu gorchmynion SQL ac yna allbwn yr holl ddata a holwyd trwy'r swyddogaeth PHP mysqli_fetch_array ().
enghraifft
Bydd yr enghraifft ganlynol yn dychwelyd cofnodion o'r tabl chenweiliang_tbl sy'n defnyddio'r gwerth chenweiliang_author yn y maes chenweiliang_author fel chenweiliang.com :
Prawf cymal MySQL LLE:
<?
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);
?>Gobeithio y bydd yr erthygl "Sut i ddefnyddio'r cymal MySQL WHERE? Cystrawen amodau lluosog yn y cymal WHERE" a rennir ar flog Chen Weiliang ( https://www.chenweiliang.com/ ) o gymorth i chi.
Mae croeso i chi rannu'r ddolen erthygl hon: https://www.chenweiliang.com/cwl-462.html
