Imenik članaka
Kako izvršiti LIKE upit u MySQL-u ? Koja su pravila korištenja LIKE naredbe u MySQL bazama podataka ?
MySQL klauzula LIKE
Znamo koristiti naredbu SQL SELECT za čitanje podataka u MySQL-u, a možemo koristiti klauzulu WHERE u naredbi SELECT da dobijemo navedene zapise.
Klauzula WHERE može koristiti znak jednakosti (=) za postavljanje uvjeta za dohvaćanje podataka, kao što je "chenweiliang_author = 'chenweiliang.com'".
Ali ponekad trebamo dobiti sve zapise čije polje chenweiliang_author sadrži "COM" znakove, tada moramo upotrijebiti klauzulu SQL LIKE u klauzuli WHERE.
SQL LIKE klauzula koristi znak postotka % za predstavljanje bilo kojeg znaka, slično zvjezdici * u UNIX-u ili regularnim izrazima.
Ako se znak postotka % ne koristi , klauzula LIKE ima isti učinak kao znak jednakosti = .
gramatika
Slijedi opća sintaksa SQL SELECT naredbe za čitanje podataka iz podatkovne tablice pomoću klauzule LIKE:
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
- Možete navesti bilo koji uvjet u WHERE klauzuli.
- Možete koristiti klauzulu LIKE u klauzuli WHERE.
- Možete koristiti klauzulu LIKE umjesto znaka jednakosti =.
- LIKE se obično povezuje s % Koristi se zajedno, slično pretraživanju metaznakova.
- Možete navesti jedan ili više uvjeta pomoću I ili ILI.
- Možete koristiti WHERE...LIKE klauzulu u DELETE ili UPDATE naredbama za specificiranje uvjeta.
Korištenje klauzule LIKE u naredbenom retku
U nastavku ćemo koristiti klauzulu WHERE...LIKE u SQL SELECT naredbi za čitanje podataka iz MySQL podatkovne tablice chenweiliang_tbl.
primjer
Slijedi popis svih zapisa iz tablice chenweiliang_tbl koji završavaju s "COM" u polju chenweiliang_author :
SQL UPDATE izjava:
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)
Korištenje klauzule LIKE u PHP skripti
Možete koristiti PHP funkciju mysqli_query() i istu SQL SELECT naredbu s WHERE...LIKE klauzulom za dobivanje podataka.
Ova se funkcija koristi za izvršavanje SQL naredbi i zatim ispisivanje podataka za sve upite putem PHP funkcije mysqli_fetch_assoc().
Ali ako se radi o SQL izjavi koja koristi klauzulu WHERE...LIKE u DELETE ili UPDATE, nema potrebe koristiti funkciju mysqli_fetch_array().
primjer
Evo kako koristimo PHP skriptu za čitanje svih zapisa koji završavaju na COM u polju chenweiliang_author u tablici chenweiliang_tbl:
Test klauzule 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);
?>Nadam se da će vam članak "Kako izvesti LIKE upit u MySQL-u? Korištenje LIKE naredbe u MySQL bazi podataka" podijeljen na Chen Weiliangovom blogu ( https://www.chenweiliang.com/ ) biti koristan.
Slobodno podijelite poveznicu na ovaj članak: https://www.chenweiliang.com/cwl-474.html
