Direktori Artikel
Bagaimanakah cara untuk melaksanakan pertanyaan LIKE dalam MySQL ? Apakah peraturan penggunaan pernyataan LIKE dalam pangkalan data MySQL ?
Klausa MySQL LIKE
Kami tahu menggunakan perintah SQL SELECT untuk membaca data dalam MySQL, dan kami boleh menggunakan klausa WHERE dalam pernyataan SELECT untuk mendapatkan rekod yang ditentukan.
Klausa WHERE boleh menggunakan tanda sama dengan (=) untuk menetapkan syarat bagi mendapatkan semula data, seperti "chenweiliang_author = 'chenweiliang.com'".
Tetapi kadangkala kita perlu mendapatkan semua rekod yang medan chenweiliang_authornya mengandungi aksara "COM", maka kita perlu menggunakan klausa SQL LIKE dalam klausa WHERE.
Klausa SQL LIKE menggunakan aksara tanda peratus % untuk mewakili sebarang aksara, sama seperti asterisk * dalam UNIX atau ungkapan biasa.
Jika tanda peratus % tidak digunakan , klausa LIKE mempunyai kesan yang sama seperti tanda sama dengan = .
tatabahasa
Berikut ialah sintaks umum pernyataan SQL SELECT untuk membaca data daripada jadual data menggunakan klausa LIKE:
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
- Anda boleh menentukan sebarang syarat dalam klausa WHERE.
- Anda boleh menggunakan klausa LIKE dalam klausa WHERE.
- Anda boleh menggunakan klausa LIKE sebagai ganti tanda sama =.
- LIKE biasanya dikaitkan dengan % Digunakan bersama-sama, serupa dengan carian metacharacter.
- Anda boleh menentukan satu atau lebih syarat menggunakan DAN atau ATAU.
- Anda boleh menggunakan klausa WHERE...LIKE dalam perintah DELETE atau UPDATE untuk menentukan syarat.
Menggunakan klausa LIKE dalam command prompt
Di bawah ini kita akan menggunakan klausa WHERE...LIKE dalam perintah SQL SELECT untuk membaca data daripada jadual data MySQL chenweiliang_tbl.
contoh
Berikut ialah senarai semua rekod daripada jadual chenweiliang_tbl yang berakhir dengan "COM" dalam medan chenweiliang_author :
Kenyataan 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)
Menggunakan klausa LIKE dalam skrip PHP
Anda boleh menggunakan fungsi PHP mysqli_query() dan perintah SQL SELECT yang sama dengan klausa WHERE...LIKE untuk mendapatkan data.
Fungsi ini digunakan untuk melaksanakan perintah SQL dan kemudian mengeluarkan data untuk semua pertanyaan melalui fungsi PHP mysqli_fetch_assoc().
Tetapi jika ia adalah pernyataan SQL menggunakan klausa WHERE...LIKE dalam DELETE atau UPDATE, tidak perlu menggunakan fungsi mysqli_fetch_array().
contoh
Begini cara kami menggunakan skrip PHP untuk membaca semua rekod yang berakhir dengan COM dalam medan chenweiliang_author dalam jadual chenweiliang_tbl:
Ujian klausa 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);
?>Semoga artikel "Bagaimana untuk melaksanakan pertanyaan LIKE dalam MySQL? Penggunaan pernyataan LIKE dalam pangkalan data MySQL" yang dikongsikan di blog Chen Weiliang ( https://www.chenweiliang.com/ ) dapat membantu anda.
Jangan ragu untuk berkongsi pautan artikel ini: https://www.chenweiliang.com/cwl-474.html
