ಲೇಖನ ಡೈರೆಕ್ಟರಿ
MySQL ಡೇಟಾಬೇಸ್ಎಲ್ಲಿ ಹೇಳಿಕೆಯನ್ನು ಬಳಸುವುದು ಹೇಗೆ? ಅಲ್ಲಿ ಷರತ್ತು ಬಹು ಷರತ್ತುಬದ್ಧ ಸಿಂಟ್ಯಾಕ್ಸ್
MySQL ಎಲ್ಲಿ ಷರತ್ತು
MySQL ಟೇಬಲ್ನಿಂದ ಡೇಟಾವನ್ನು ಓದಲು SQL SELECT ಹೇಳಿಕೆಯನ್ನು ಬಳಸಲು ನಮಗೆ ತಿಳಿದಿದೆ.
ಟೇಬಲ್ನಿಂದ ಷರತ್ತುಬದ್ಧವಾಗಿ ಡೇಟಾವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು, SELECT ಹೇಳಿಕೆಗೆ WHERE ಷರತ್ತು ಸೇರಿಸಿ.
ವ್ಯಾಕರಣ
WHERE ಷರತ್ತನ್ನು ಬಳಸಿಕೊಂಡು ಡೇಟಾ ಟೇಬಲ್ನಿಂದ ಡೇಟಾವನ್ನು ಓದಲು SQL SELECT ಹೇಳಿಕೆಯ ಸಾಮಾನ್ಯ ಸಿಂಟ್ಯಾಕ್ಸ್ ಈ ಕೆಳಗಿನಂತಿದೆ:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- ಕೋಷ್ಟಕಗಳ ನಡುವೆ ಅಲ್ಪವಿರಾಮಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಪ್ರಶ್ನೆ ಹೇಳಿಕೆಯಲ್ಲಿ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಕೋಷ್ಟಕಗಳನ್ನು ಬಳಸಬಹುದು, ವಿಭಜಿಸಿ, ಮತ್ತು ಪ್ರಶ್ನೆಯ ಷರತ್ತುಗಳನ್ನು ಹೊಂದಿಸಲು WHERE ಹೇಳಿಕೆಯನ್ನು ಬಳಸಿ.
- WHERE ಷರತ್ತಿನಲ್ಲಿ ನೀವು ಯಾವುದೇ ಸ್ಥಿತಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು.
- ನೀವು AND ಅಥವಾ OR ಅನ್ನು ಬಳಸಿಕೊಂಡು ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಷರತ್ತುಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು.
- SQL ನ DELETE ಅಥವಾ UPDATE ಆಜ್ಞೆಗಳೊಂದಿಗೆ WHERE ಷರತ್ತನ್ನು ಸಹ ಬಳಸಬಹುದು.
- WHERE ಷರತ್ತು ಕಾರ್ಯವಿಧಾನದ ಭಾಷೆಗಳಲ್ಲಿನ if ಸ್ಥಿತಿಯನ್ನು ಹೋಲುತ್ತದೆ ಮತ್ತು MySQL ಕೋಷ್ಟಕದಲ್ಲಿನ ಕ್ಷೇತ್ರ ಮೌಲ್ಯದ ಪ್ರಕಾರ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಡೇಟಾವನ್ನು ಓದುತ್ತದೆ.
ಕೆಳಗಿನವುಗಳು WHERE ಷರತ್ತಿನಲ್ಲಿ ಬಳಸಬಹುದಾದ ನಿರ್ವಾಹಕರ ಪಟ್ಟಿಯಾಗಿದೆ.
ಕೆಳಗಿನ ಕೋಷ್ಟಕದಲ್ಲಿನ ಉದಾಹರಣೆಗಳು ಎ 10 ಮತ್ತು ಬಿ 20 ಎಂದು ಊಹಿಸುತ್ತವೆ
| ಆಪರೇಟರ್ | ವಿವರಣೆ | ನಿದರ್ಶನ |
|---|---|---|
| = | ಸಮಾನ ಚಿಹ್ನೆ, ಎರಡು ಮೌಲ್ಯಗಳು ಸಮಾನವಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ಅವು ಸಮಾನವಾಗಿದ್ದರೆ ನಿಜವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ | (A = B) ತಪ್ಪು ಎಂದು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. |
| <>, != | ಸಮಾನವಾಗಿಲ್ಲ, ಎರಡು ಮೌಲ್ಯಗಳು ಸಮಾನವಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ, ಅವು ಸಮಾನವಾಗಿಲ್ಲದಿದ್ದರೆ ನಿಜವನ್ನು ಹಿಂತಿರುಗಿಸಿ | (A != B) ನಿಜವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. |
| > | ಚಿಹ್ನೆಗಿಂತ ದೊಡ್ಡದು, ಎಡಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯವು ಬಲಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ, ಎಡಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯವು ಬಲಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚಿದ್ದರೆ, ನಿಜವನ್ನು ಹಿಂತಿರುಗಿಸಿ | (A > B) ತಪ್ಪು ಎಂದು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. |
| < | ಚಿಹ್ನೆಗಿಂತ ಕಡಿಮೆ, ಎಡಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯವು ಬಲಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯಕ್ಕಿಂತ ಕಡಿಮೆಯಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ, ಎಡಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯವು ಬಲಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯಕ್ಕಿಂತ ಕಡಿಮೆಯಿದ್ದರೆ, ನಿಜವನ್ನು ಹಿಂತಿರುಗಿ | (ಎ < ಬಿ) ನಿಜ ಎಂದು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. |
| >= | ಹೆಚ್ಚು ಅಥವಾ ಸಮಾನ ಚಿಹ್ನೆ, ಎಡಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯವು ಬಲಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚಿದೆಯೇ ಅಥವಾ ಸಮಾನವಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ, ಎಡಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯವು ಬಲಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚಿದ್ದರೆ ಅಥವಾ ಸಮಾನವಾಗಿದ್ದರೆ, ನಿಜವನ್ನು ಹಿಂತಿರುಗಿ | (A >= B) ತಪ್ಪು ಎಂದು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. |
| <= | ಕಡಿಮೆ ಅಥವಾ ಸಮಾನ ಚಿಹ್ನೆ, ಎಡಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯವು ಬಲಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯಕ್ಕಿಂತ ಕಡಿಮೆ ಅಥವಾ ಸಮಾನವಾಗಿದೆಯೇ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಿ, ಎಡಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯವು ಬಲಭಾಗದಲ್ಲಿರುವ ಮೌಲ್ಯಕ್ಕಿಂತ ಕಡಿಮೆ ಅಥವಾ ಸಮಾನವಾಗಿದ್ದರೆ, ನಿಜವನ್ನು ಹಿಂತಿರುಗಿ | (A <= B) ನಿಜವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. |
ನಾವು MySQL ಡೇಟಾ ಟೇಬಲ್ನಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಡೇಟಾವನ್ನು ಓದಲು ಬಯಸಿದರೆ WHERE ಷರತ್ತು ತುಂಬಾ ಉಪಯುಕ್ತವಾಗಿದೆ.
WHERE ಷರತ್ತಿನಲ್ಲಿ ಷರತ್ತುಬದ್ಧ ಪ್ರಶ್ನೆಯಾಗಿ ಪ್ರಾಥಮಿಕ ಕೀಲಿಯನ್ನು ಬಳಸುವುದು ತುಂಬಾ ವೇಗವಾಗಿರುತ್ತದೆ.
ಕೊಟ್ಟಿರುವ ಮಾನದಂಡವು ಕೋಷ್ಟಕದಲ್ಲಿ ಯಾವುದೇ ಹೊಂದಾಣಿಕೆಯ ದಾಖಲೆಗಳನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ಪ್ರಶ್ನೆಯು ಯಾವುದೇ ಡೇಟಾವನ್ನು ಹಿಂತಿರುಗಿಸುವುದಿಲ್ಲ.
ಕಮಾಂಡ್ ಪ್ರಾಂಪ್ಟಿನಿಂದ ಡೇಟಾವನ್ನು ಓದಿ
MySQL ಡೇಟಾ ಟೇಬಲ್ chenweiliang_tbl ನಲ್ಲಿ ಡೇಟಾವನ್ನು ಓದಲು ನಾವು SQL SELECT ಹೇಳಿಕೆಯಲ್ಲಿ WHERE ಷರತ್ತು ಬಳಸುತ್ತೇವೆ:
ನಿದರ್ಶನ
ಕೆಳಗಿನ ಉದಾಹರಣೆಯು chenweiliang_tbl ಕೋಷ್ಟಕದಲ್ಲಿನ ಎಲ್ಲಾ ದಾಖಲೆಗಳನ್ನು ಓದುತ್ತದೆ, ಅಲ್ಲಿ chenweiliang_author ಕ್ಷೇತ್ರದ ಮೌಲ್ಯವು ಸಂಜಯ್ ಆಗಿರುತ್ತದೆ:
SQL ಆಯ್ಕೆ ಎಲ್ಲಿದೆ ಷರತ್ತು
MySQL ನ WHERE ಷರತ್ತಿನ ಸ್ಟ್ರಿಂಗ್ ಹೋಲಿಕೆಗಳು ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ ಆಗಿರುತ್ತವೆ.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 ಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಿ ಡೇಟಾವನ್ನು ಓದಿ
ಡೇಟಾವನ್ನು ಪಡೆಯಲು ನೀವು PHP ಕಾರ್ಯ mysqli_query() ಮತ್ತು ಅದೇ SQL SELECT ಆಜ್ಞೆಯನ್ನು WHERE ಷರತ್ತನ್ನು ಬಳಸಬಹುದು.
ಈ ಕಾರ್ಯವನ್ನು SQL ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ನಂತರ PHP ಫಂಕ್ಷನ್ mysqli_fetch_array() ಮೂಲಕ ಎಲ್ಲಾ ಪ್ರಶ್ನಿಸಿದ ಡೇಟಾವನ್ನು ಔಟ್ಪುಟ್ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ.
ನಿದರ್ಶನ
ಕೆಳಗಿನ ಉದಾಹರಣೆಯು chenweiliang_tbl ಕೋಷ್ಟಕದಿಂದ chenweiliang_author ಕ್ಷೇತ್ರ ಮೌಲ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಹಿಂತಿರುಗುತ್ತದೆ chenweiliang.com ದಾಖಲೆ:
MySQL ಎಲ್ಲಿ ಷರತ್ತು ಪರೀಕ್ಷೆ:
<?
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 ಎಲ್ಲಿ ಹೇಳಿಕೆಯನ್ನು ಬಳಸುವುದು? ಅಲ್ಲಿ ಷರತ್ತು ಬಹು ಸ್ಥಿತಿಯ ಸಿಂಟ್ಯಾಕ್ಸ್", ನಿಮಗೆ ಸಹಾಯ ಮಾಡಲು.
ಈ ಲೇಖನದ ಲಿಂಕ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಸ್ವಾಗತ:https://www.chenweiliang.com/cwl-462.html
