MySQL SEPERTI 子句
Klausa MySQL LIKE
Kami tahu bahawa kami menggunakan arahan SQL SELECT untuk membaca data dalam MySQL, dan kami boleh menggunakan klausa WHERE dalam pernyataan SELECT . untuk mendapatkan rekod yang ditentukan.
Anda boleh menggunakan tanda sama = dalam klausa WHERE untuk menetapkan syarat untuk mendapatkan data, seperti "pengguna_pengarang = 'laman web PHP Cina'".
Tetapi kadangkala kita perlu mendapatkan semua rekod yang medan pengarang_penggunanya mengandungi aksara "php", maka kita perlu menggunakan klausa SQL LIKE dalam klausa WHERE.
Katak peratus tanda % digunakan dalam klausa SQL LIKE untuk mewakili sebarang aksara, serupa dengan asterisk * dalam UNIX atau ungkapan biasa.
Jika tanda peratus % tidak digunakan, klausa LIKE mempunyai kesan yang sama dengan tanda sama dengan =.
Syntax
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 dan bukannya tanda sama dengan =.
LIKE biasanya digunakan dengan %, 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 WHERE dalam arahan SQL SELECT . Klausa .LIKE untuk membaca data daripada pengguna jadual data MySQL.
Contoh
Berikut ialah cara kami mendapatkan semua rekod yang berakhir dengan php dalam medan pengguna_pengarang daripada jadual pengguna:
mysql> ;
Pangkalan data berubah
mysql> PILIH * dari user_tbl DI MANA pengguna_pengarang SUKA '%php';
+------------; --------------------------+--------------------------+
|. pengguna_tajuk |. - ------------+-----------------+
| 3 |. 05 -01 |
|. 4 |. -----------------------------------------
2 baris dalam set (0.01 saat)
Menggunakan klausa LIKE dalam skrip PHP
Anda boleh menggunakan fungsi PHP mysqli_query() dan Sama Perintah SQL SELECT dengan klausa WHERE...LIKE untuk mendapatkan data. Fungsi ini digunakan untuk melaksanakan perintah SQL dan kemudian mengeluarkan semua data yang ditanya melalui fungsi PHP mysqli_fetch_array().
Tetapi jika ia adalah pernyataan SQL menggunakan klausa WHERE...LIKE dalam DELETE atau UPDATE, tidak perlu menggunakan fungsi mysqli_fetch_array().
ContohBerikut ialah skrip PHP yang kami gunakan untuk membaca semua rekod yang berakhir dengan php dalam medan pengguna_pengarang dalam jadual pengguna:
<?php
header("Content -Type: text/html;charset=utf-8");
$dbhost = 'localhost'; // alamat hos pelayan mysql
$dbuser = 'root'; 🎜>$dbpass = ' root'; // nama pengguna dan kata laluan mysql
$conn = mysqli_connect($dbhost, $dbuser, $dbpass); Tetapkan pengekodan untuk mengelakkan aksara Cina yang kacau
mysqli_query($conn, "set names utf8");
$sql = 'SELECT user_id, user_title,
user_author, submission_date
FROM user
DI MANA pengarang_pengguna SUKA "%php"';
mysqli_select_db( $conn , 'demo' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('Tidak dapat membaca data: ' . mysqli_error($conn));
}
echo '<h2>PHP laman web Cina mysqli_fetch_array test<h2>';
echo '<table border="1"><tr><td>ID Tutorial</td>< ;td>Tajuk</td><td>Pengarang</td><td><td> ;/td></tr>';
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
{
echo "<tr><td> {$row['user_id ']}</td> ".
"<td>{$row['user_title ']} </td> ".
" "<td>{$row['user_author' ]} </td> ".
" "<td>{$row['tarikh_serahan'] }</td>
Cadangan tutorial video berkaitan: LIKE dan MIN