Հոդվածների տեղեկատու
MySQL տվյալների բազաԻնչպե՞ս օգտագործել Where հայտարարությունը: որտեղ դրույթի բազմաթիվ պայմանների շարահյուսություն
MySQL WHERE կետ
Մենք գիտենք, որ պետք է օգտագործել SQL SELECT հայտարարությունը MySQL աղյուսակից տվյալները կարդալու համար:
Աղյուսակից տվյալները պայմանականորեն ընտրելու համար SELECT դրույթին ավելացրեք WHERE կետ:
քերականություն
Հետևյալը SQL SELECT հայտարարության ընդհանուր շարահյուսությունն է՝ տվյալների աղյուսակից տվյալները կարդալու համար՝ օգտագործելով WHERE դրույթը.
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- Հարցման մեջ կարող եք օգտագործել մեկ կամ մի քանի աղյուսակ՝ օգտագործելով աղյուսակների միջև ստորակետներ, Բաժանեք և օգտագործեք WHERE հայտարարությունը հարցման պայմանները սահմանելու համար:
- WHERE կետում կարող եք նշել ցանկացած պայման:
- Դուք կարող եք նշել մեկ կամ մի քանի պայմաններ՝ օգտագործելով AND կամ OR:
- WHERE կետը կարող է օգտագործվել նաև SQL-ի DELETE կամ UPDATE հրամանների հետ:
- WHERE դրույթը նման է if պայմանին ծրագրավորման լեզվում՝ կարդալով նշված տվյալները MySQL աղյուսակում դաշտի արժեքի համաձայն։
Հետևյալը օպերատորների ցանկն է, որոնք կարող են օգտագործվել WHERE կետում:
Ստորև բերված աղյուսակի օրինակները ենթադրում են, որ A-ն 10 է, իսկ B-ն՝ 20
| օպերատոր | 描述 | օրինակ |
|---|---|---|
| = | Equals նշանը, ստուգում է, թե արդյոք երկու արժեքները հավասար են, և վերադարձնում է true, եթե դրանք հավասար են | (A = B) վերադարձնում է false: |
| <>, != | Հավասար չէ, ստուգեք, արդյոք երկու արժեքները հավասար են, եթե ոչ, վերադարձրեք ճշմարիտ | (A != B) վերադարձնում է true: |
| > | Նշանից մեծ է, ստուգեք, թե ձախ կողմի արժեքը մեծ է աջից, եթե ձախի արժեքը մեծ է աջից, վերադարձրեք true | (A > B) վերադարձնում է false: |
| < | Նշանակից պակաս, ստուգեք, թե ձախ կողմի արժեքը փոքր է աջից, եթե ձախի արժեքը փոքր է աջից, վերադարձրեք true | (A < B) վերադարձնում է ճշմարիտ: |
| >= | Ավելի մեծ կամ հավասար նշան, ստուգեք, թե արդյոք ձախ կողմի արժեքը մեծ է կամ հավասար է աջ կողմի արժեքին, եթե ձախի արժեքը մեծ է կամ հավասար է աջ կողմի արժեքին, վերադարձրեք true | (A >= B) վերադարձնում է false: |
| <= | Փոքր կամ հավասար նշան, ստուգեք, թե արդյոք ձախ կողմի արժեքը փոքր է կամ հավասար է աջ արժեքին, եթե ձախի արժեքը փոքր է կամ հավասար է աջ կողմի արժեքին, վերադարձրեք true | (A <= B) վերադարձնում է true: |
WHERE կետը շատ օգտակար է, եթե ցանկանում ենք կարդալ նշված տվյալները MySQL տվյալների աղյուսակից։
Առաջնային բանալին օգտագործելը որպես պայմանական հարցում WHERE կետում շատ արագ է:
Եթե տվյալ չափանիշները չունեն աղյուսակում համապատասխան գրառումներ, հարցումը չի վերադարձնում տվյալներ:
կարդալ տվյալները հրամանի տողից
Մենք կօգտագործենք WHERE կետը SQL SELECT հայտարարության մեջ՝ կարդալու տվյալները MySQL տվյալների աղյուսակում chenweiliang_tbl:
օրինակ
Հետևյալ օրինակը կկարդա chenweiliang_tbl աղյուսակի բոլոր գրառումները, որտեղ chenweiliang_author դաշտի արժեքը Sanjay է:
SQL SELECT WHERE դրույթ
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)
օգտագործված օրինակում Երկուական հիմնաբառ, մեծատառերի զգայուն է, ուստի chenweiliang_author='chenweiliang.com' Հարցման պայմանը տվյալներ չկա:
Կարդացեք տվյալները՝ օգտագործելով PHP script
Տվյալները ստանալու համար կարող եք օգտագործել 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);
?>Հույս Chen Weiliang բլոգ ( https://www.chenweiliang.com/ ) կիսվել է «Ինչպե՞ս օգտագործել MySQL where հայտարարությունը: որտեղ Clause Multiple Condition Syntax», ձեզ օգնելու համար:
Բարի գալուստ՝ կիսելու այս հոդվածի հղումը.https://www.chenweiliang.com/cwl-462.html
Ավելի շատ թաքնված հնարքներ բացահայտելու համար🔑, միացեք մեր Telegram ալիքին։
Տարածեք և հավանեք, եթե ձեզ դուր եկավ: Ձեր կիսումներն ու հավանումները մեր շարունակական շարժառիթն են: