Нийтлэлийн лавлах
MySQL дээр LIKE асуулга хэрхэн гүйцэтгэх вэ ? MySQL өгөгдлийн сан дахь LIKE мэдэгдлийн хэрэглээний дүрмүүд юу вэ ?
MySQL LIKE заалт
Бид MySQL дээрх өгөгдлийг уншихын тулд SQL SELECT командыг ашиглахыг мэддэг бөгөөд заасан бүртгэлийг авахын тулд SELECT мэдэгдлийн WHERE заалтыг ашиглаж болно.
WHERE заалт нь "chenweiliang_author = 'chenweiliang.com'" гэх мэт өгөгдлийг авах нөхцөлийг тохируулахын тулд тэнцүү тэмдэг (=) ашиглаж болно.
Гэхдээ заримдаа бид chenweiliang_author талбарт "COM" тэмдэгт агуулсан бүх бичлэгийг авах шаардлагатай бол WHERE заалтын SQL LIKE заалтыг ашиглах шаардлагатай болдог.
SQL LIKE заалт нь UNIX эсвэл ердийн илэрхийллүүд дэх одтой адил * тэмдэгттэй адил аливаа тэмдэгтийг илэрхийлэхийн тулд хувийн тэмдэгтийн % тэмдэгтийг ашигладаг.
Хэрэв хувийн тэмдэг % ашиглаагүй бол LIKE заалт нь тэнцүү тэмдэг =-тэй адил үр нөлөөтэй байна .
дүрэм
Дараах нь LIKE заалтыг ашиглан өгөгдлийн хүснэгтээс өгөгдлийг унших SQL SELECT мэдэгдлийн ерөнхий синтакс юм.
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
- Та WHERE заалтад дурын нөхцөлийг зааж өгч болно.
- Та WHERE заалтын LIKE заалтыг ашиглаж болно.
- Та тэнцүү тэмдгийн оронд LIKE заалтыг ашиглаж болно =.
- LIKE нь ихэвчлэн холбоотой байдаг % Мета тэмдэгтийн хайлттай адил хамт хэрэглэгддэг.
- Та AND эсвэл OR ашиглан нэг буюу хэд хэдэн нөхцөлийг зааж өгч болно.
- Та DELETE эсвэл UPDATE командын WHERE...LIKE заалтыг ашиглан нөхцөлийг зааж өгч болно.
Тушаал хүлээх мөрөнд LIKE заалтыг ашиглана уу
Доор бид chenweiliang_tbl MySQL өгөгдлийн хүснэгтээс өгөгдлийг уншихын тулд SQL SELECT командын WHERE...LIKE заалтыг ашиглана.
жишээ
Дараах нь chenweiliang_author талбарт "COM" гэж төгссөн chenweiliang_tbl хүснэгтийн бүх бичлэгийн жагсаалт юм:
SQL UPDATE мэдэгдэл:
mysql> use chenweiliang; Database changed mysql> SELECT * from chenweiliang_tbl WHERE chenweiliang_author LIKE '%COM'; +-----------+---------------+---------------+-----------------+ | chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date | +-----------+---------------+---------------+-----------------+ | 3 | 学习 Java | chenweiliang.com | 2015-05-01 | | 4 | 学习 Python | chenweiliang.com | 2016-03-06 | +-----------+---------------+---------------+-----------------+ 2 rows in set (0.01 sec)
PHP скрипт дээр LIKE заалтыг ашиглах
Та PHP функц mysqli_query() болон ижил SQL SELECT командыг WHERE...LIKE заалттай ашиглаж мэдээлэл авах боломжтой.
Энэ функц нь SQL командуудыг гүйцэтгэх, дараа нь PHP mysqli_fetch_assoc() функцээр дамжуулан бүх асуулгын өгөгдлийг гаргахад ашиглагддаг.
Гэхдээ хэрэв энэ нь DELETE эсвэл UPDATE дахь WHERE...LIKE заалтыг ашигласан SQL хэллэг бол mysqli_fetch_array() функцийг ашиглах шаардлагагүй.
жишээ
chenweiliang_tbl хүснэгтийн chenweiliang_author талбар дахь COM-оор төгссөн бүх бичлэгийг уншихын тулд бид PHP скриптийг хэрхэн ашиглахыг эндээс үзнэ үү.
MySQL DELETE заалтын тест:
<?
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");
$sql = 'SELECT chenweiliang_id, chenweiliang_title,
chenweiliang_author, submission_date
FROM chenweiliang_tbl
WHERE chenweiliang_author LIKE "%COM"';
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<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_close($conn);
?>Чен Вэйлиангийн блог ( https://www.chenweiliang.com/ ) дээр хуваалцсан "MySQL дээр LIKE асуулга хэрхэн гүйцэтгэх вэ? MySQL мэдээллийн санд LIKE мэдэгдлийг ашиглах нь" нийтлэл танд тустай байх гэж найдаж байна.
Энэ нийтлэлийн холбоосыг хуваалцахаас бүү эргэлзээрэй: https://www.chenweiliang.com/cwl-474.html
