MySQL қайда операторды қалай пайдалануға болады? мұндағы сөйлем бірнеше шарттар синтаксисі

MySQL-де WHERE сөйлемін қалай пайдалануға болады ? WHERE сөйлеміндегі бірнеше шарттың синтаксисі.

MySQL WHERE сөйлемі

MySQL кестесінен деректерді оқу үшін SQL SELECT операторын пайдалануды білеміз.

Кестеден деректерді шартты түрде таңдау үшін SELECT операторына WHERE сөйлемін қосыңыз.

грамматика

Төменде WHERE сөйлемі арқылы деректер кестесінен деректерді оқуға арналған SQL SELECT операторының жалпы синтаксисі берілген:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • Кестелер арасында үтірлерді пайдаланып, сұрау мәлімдемесінде бір немесе бірнеше кестелерді пайдалануға болады, Бөліңіз және сұрау шарттарын орнату үшін WHERE операторын пайдаланыңыз.
  • Кез келген шартты WHERE сөйлемінде көрсетуге болады.
  • ЖӘНЕ немесе НЕМЕСЕ арқылы бір немесе бірнеше шарттарды көрсетуге болады.
  • WHERE сөйлемін SQL DELETE немесе UPDATE пәрмендерімен де пайдалануға болады.
  • WHERE сөйлемі процедуралық тілдердегі if шартына ұқсас және MySQL кестесіндегі өріс мәніне сәйкес көрсетілген деректерді оқиды.

Төменде WHERE сөйлемінде қолдануға болатын операторлар тізімі берілген.

Төмендегі кестедегі мысалдар А 10, ал В 20 деп есептейді

Оператор描述Дана
=Теңдік белгісі, екі мәннің тең екендігін тексереді және егер олар тең болса, ақиқат мәнін қайтарады(A = B) жалған мәнін қайтарады.
<>, !=Тең емес, екі мәннің тең екенін тексеріңіз, егер жоқ болса, шын мәнін қайтарыңыз(A != B) шын мәнін қайтарады.
>Белгіден үлкен, сол жақтағы мән оң жақтағы мәннен үлкен екенін тексеріңіз, егер сол жақтағы мән оң жақтағы мәннен үлкен болса, шын мәнін қайтарыңыз(A > B) қатені қайтарады.
<Таңбадан кіші, сол жақтағы мән оң жақтағы мәннен аз екенін тексеріңіз, егер сол жақтағы мән оң жақтағы мәннен аз болса, шын мәнін қайтарыңыз(A <B) шын мәнін қайтарады.
>=Үлкен немесе тең белгісі, сол жақтағы мән оң жақтағы мәннен үлкен немесе тең екенін тексеріңіз, егер сол жақтағы мән оң жақтағы мәннен үлкен немесе тең болса, шын мәнін қайтарыңыз(A >= B) қатені қайтарады.
<=Кіші немесе тең белгісі, сол жақтағы мән оң жақтағы мәннен кіші немесе тең екенін тексеріңіз, егер сол жақтағы мән оң жақтағы мәннен кіші немесе тең болса, шын мәнін қайтарыңыз(A <= B) ақиқат мәнін қайтарады.

Егер MySQL деректер кестесінен көрсетілген деректерді оқығымыз келсе, WHERE сөйлемі өте пайдалы.

Негізгі кілтті WHERE сөйлемінде шартты сұрау ретінде пайдалану өте жылдам.

Егер берілген шартта кестеде сәйкес жазбалар болмаса, сұрау ешқандай деректерді қайтармайды.


пәрмен жолынан деректерді оқу

chenweiliang_tbl MySQL деректер кестесіндегі деректерді оқу үшін SQL SELECT мәлімдемесіндегі WHERE сөйлемін қолданамыз:

Дана

Келесі мысал chenweiliang_tbl кестесіндегі барлық жазбаларды оқиды, мұнда chenweiliang_author өрісінің мәні Санджай болып табылады:

SQL SELECT WHERE сөйлемі

ТАҢДАУ * -дан chenweiliang_tbl ҚАЙДА chenweiliang_author=«Чен Вэйлян博客«;

MySQL-тің WHERE сөйлеміндегі жолды салыстыру регистрді ескермейді.BINARY кілт сөзін WHERE сөйлеміндегі жолды салыстырулардың регистрді ескеретінін көрсету үшін пайдалануға болады.

Келесі мысал:

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)

Мысалда BINARY кілт сөзі қолданылады, ол регистрге сезімтал, сондықтан chenweiliang_author='chenweiliang.com' сұрау шарты ешқандай деректер қайтармайды.


РНР сценарийін пайдаланып деректерді оқыңыз

Деректерді алу үшін PHP функциясын mysqli_query() және бірдей SQL SELECT пәрменін WHERE сөйлемімен пайдалануға болады.

Бұл функция SQL пәрмендерін орындау үшін, содан кейін PHP mysqli_fetch_array() функциясы арқылы барлық сұралған деректерді шығару үшін пайдаланылады.

Дана

Келесі мысал chenweiliang_tbl кестесінен chenweiliang_author мәнін chenweiliang.com ретінде пайдаланатын жазбаларды қайтарады :

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);
?>

Чен Вэйлиангтың блогында ( https://www.chenweiliang.com/ ) бөлісілген "MySQL WHERE сөйлемін қалай пайдалануға болады? WHERE сөйлеміндегі бірнеше шарттың синтаксисі" мақаласы сізге пайдалы болады деп үміттенемін.

Осы мақаланың сілтемесін бөлісуден тартынбаңыз: https://www.chenweiliang.com/cwl-462.html

Көбірек жасырын трюктердің құлпын ашу үшін🔑 Telegram каналымызға қосылыңыз!

Бөлісу және ұнаса лайк! Сіздің бөлісулеріңіз бен лайктарыңыз біздің тұрақты мотивациямыз болып табылады!

 

Пікірлер

您的邮箱地址不会被公开。必填项已用*标注

Топ Scroll