Как да използвам оператора MySQL where? където клауза множество условия синтаксис

Как да използваме клаузата WHERE в MySQL ? Синтаксис за множество условия в клаузата WHERE.

MySQL WHERE клауза

Знаем да използваме SQL оператор SELECT за четене на данни от MySQL таблица.

За да изберете условно данни от таблица, добавете клауза WHERE към оператора SELECT.

граматика

Следва общият синтаксис на оператор SQL SELECT за четене на данни от таблица с данни с помощта на клаузата WHERE:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • Можете да използвате една или повече таблици в оператора на заявката, като използвате запетаи между таблиците, Разделете и използвайте оператора WHERE, за да зададете условия на заявката.
  • Можете да посочите всяко условие в клаузата WHERE.
  • Можете да посочите едно или повече условия, като използвате И или ИЛИ.
  • Клаузата WHERE може да се използва и с командите DELETE или UPDATE на SQL.
  • Клаузата WHERE е подобна на условието if в процедурните езици и чете посочените данни според стойността на полето в MySQL таблицата.

Следва списък с оператори, които могат да се използват в клаузата WHERE.

Примерите в таблицата по-долу предполагат, че A е 10, а B е 20

Оператор描述Инстанция
=Знак за равенство, проверява дали две стойности са равни и връща true, ако са равни(A = B) връща false.
<>, !=Не е равно, проверява дали две стойности са равни, връща true, ако не са равни(A != B) връща true.
>Знак по-голямо от, проверете дали стойността отляво е по-голяма от стойността отдясно, ако стойността отляво е по-голяма от стойността отдясно, върнете true(A > B) връща невярно.
<Знак по-малко от, проверете дали стойността отляво е по-малка от стойността отдясно, ако стойността отляво е по-малка от стойността отдясно, върнете true(A < B) връща true.
>=Знак за по-голямо или равно, проверете дали стойността отляво е по-голяма или равна на стойността отдясно, ако стойността отляво е по-голяма или равна на стойността отдясно, върнете true(A >= B) връща невярно.
<=Знак по-малко или равно, проверете дали стойността отляво е по-малка или равна на стойността отдясно, ако стойността отляво е по-малка или равна на стойността отдясно, върнете true(A <= B) връща true.

Клаузата WHERE е много полезна, ако искаме да прочетем посочените данни от таблицата с данни на MySQL.

Използването на първичния ключ като условна заявка в клаузата WHERE е много бързо.

Ако дадените критерии нямат съответстващи записи в таблицата, заявката не връща данни.


четете данни от командния ред

Ще използваме клаузата WHERE в оператора SQL SELECT, за да прочетем данните в MySQL таблицата с данни chenweiliang_tbl:

Инстанция

Следният пример ще прочете всички записи в таблицата chenweiliang_tbl, където стойността на полето chenweiliang_author е Sanjay:

Клауза SQL SELECT WHERE

МАРКИРАЙ * от chenweiliang_tbl КЪДЕ chenweiliang_автор="Чен УейлиангБлог";

Сравненията на низове в клаузата WHERE на MySQL са нечувствителни към главни и малки букви.Можете да използвате ключовата дума 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 скрипт

Можете да използвате PHP функцията mysqli_query() и същата SQL команда SELECT с клауза WHERE, за да получите данните.

Тази функция се използва за изпълнение на SQL команди и след това извеждане на всички заявени данни чрез PHP функцията mysqli_fetch_array().

Инстанция

Следният пример ще върне записи от таблицата chenweiliang_tbl, които използват стойността chenweiliang_author в таблицата chenweiliang_tbl като 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);
?>

Надяваме се, че статията „Как да използваме клаузата WHERE в MySQL? Синтаксис на множество условия в клаузата WHERE“, споделена в блога на Чен Вейлианг ( https://www.chenweiliang.com/ ), ще ви бъде полезна.

Чувствайте се свободни да споделите линка към тази статия: https://www.chenweiliang.com/cwl-462.html

За да отключите още скрити трикове🔑, заповядайте в нашия Telegram канал!

Споделете и харесайте, ако ви харесва! Вашите споделяния и харесвания са нашата постоянна мотивация!

 

发表 评论

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

Преминете към Top