Répertoire d'articles
Base de données MySQLComment utiliser l'instruction where ? clause where syntaxe conditionnelle multiple
MySQL Clause WHERE
Nous savons utiliser l'instruction SQL SELECT pour lire les données de la table MySQL.
Pour sélectionner conditionnellement des données dans une table, ajoutez une clause WHERE à l'instruction SELECT.
grammaire
Voici la syntaxe générale d'une instruction SQL SELECT pour lire les données d'une table de données à l'aide de la clause WHERE :
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- Vous pouvez utiliser une ou plusieurs tables dans l'instruction de requête, en utilisant des virgules entre les tables, Fractionnez et utilisez l'instruction WHERE pour définir les conditions de la requête.
- Vous pouvez spécifier n'importe quelle condition dans la clause WHERE.
- Vous pouvez spécifier une ou plusieurs conditions en utilisant AND ou OR.
- La clause WHERE peut également être utilisée avec les commandes SQL DELETE ou UPDATE.
- La clause WHERE est similaire à la condition if des langages procéduraux et lit les données spécifiées en fonction de la valeur du champ dans la table MySQL.
Voici une liste d'opérateurs pouvant être utilisés dans la clause WHERE.
Les exemples du tableau ci-dessous supposent que A vaut 10 et B vaut 20
| opérateur | Description | Exemple |
|---|---|---|
| = | Signe égal, vérifie si deux valeurs sont égales et renvoie vrai si elles sont égales | (A = B) renvoie faux. |
| <>, != | Non égal, vérifie si deux valeurs sont égales, renvoie vrai si elles ne sont pas égales | (A != B) renvoie vrai. |
| > | Signe supérieur à, vérifie si la valeur de gauche est supérieure à la valeur de droite, si la valeur de gauche est supérieure à la valeur de droite, renvoie vrai | (A > B) renvoie faux. |
| < | Inférieur à signe, vérifie si la valeur de gauche est inférieure à la valeur de droite, si la valeur de gauche est inférieure à la valeur de droite, renvoie true | (A < B) renvoie vrai. |
| >= | Supérieur ou égal, vérifie si la valeur de gauche est supérieure ou égale à la valeur de droite, si la valeur de gauche est supérieure ou égale à la valeur de droite, retourne true | (A >= B) renvoie faux. |
| <= | Inférieur ou signe égal, vérifie si la valeur de gauche est inférieure ou égale à la valeur de droite, si la valeur de gauche est inférieure ou égale à la valeur de droite, renvoie true | (A <= B) renvoie vrai. |
La clause WHERE est très utile si nous voulons lire les données spécifiées à partir de la table de données MySQL.
L'utilisation de la clé primaire comme requête conditionnelle dans la clause WHERE est très rapide.
Si les critères donnés n'ont aucun enregistrement correspondant dans la table, la requête ne renvoie aucune donnée.
lire les données à partir de l'invite de commande
Nous allons utiliser la clause WHERE dans l'instruction SQL SELECT pour lire les données dans la table de données MySQL chenweiliang_tbl :
Exemple
L'exemple suivant lit tous les enregistrements de la table chenweiliang_tbl où la valeur du champ chenweiliang_author est Sanjay :
Clause SQL SELECT WHERE
Les comparaisons de chaînes dans la clause WHERE de MySQL ne sont pas sensibles à la casse.Vous pouvez utiliser le mot clé BINARY pour spécifier que les comparaisons de chaînes dans la clause WHERE sont sensibles à la casse.
L'exemple suivant :
mot-clé BINAIRE
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)
utilisé dans l'exemple BINARY mot-clé, est sensible à la casse, donc chenweiliang_author='chenweiliang.com' La condition de requête est aucune donnée.
Lire des données à l'aide d'un script PHP
Vous pouvez utiliser la fonction PHP mysqli_query() et la même commande SQL SELECT avec une clause WHERE pour obtenir les données.
Cette fonction est utilisée pour exécuter des commandes SQL, puis afficher toutes les données interrogées via la fonction PHP mysqli_fetch_array().
Exemple
L'exemple suivant reviendra de la table chenweiliang_tbl en utilisant la valeur du champ chenweiliang_author comme www.chenweiliang.com record de:
Test de la clause 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);
?>J'espère que le blog de Chen Weiliang ( https://www.chenweiliang.com/ ) partagé "Comment utiliser l'instruction MySQL where ? where Clause Multiple Condition Syntax", pour vous aider.
Bienvenue à partager le lien de cet article :https://www.chenweiliang.com/cwl-462.html
