Kita telah melihat perintah SQL SELECT untuk mengambil data dari tabel MySQL . Kita juga dapat menggunakan klausa bersyarat disebut klausa WHERE untuk memilih catatan yang diperlukan .
Sebuah klausa WHERE dengan tanda sama dengan (=) bekerja dengan baik di mana kita ingin melakukan yang sama persis. Seperti jika “tutorial_author = ‘Sanjay’ ” . Tapi mungkin ada kebutuhan di mana kita ingin menyaring semua hasil di mana nama tutorial_author harus mengandung “jay”. Hal ini dapat ditangani dengan menggunakan SQL LIKE alongwith klausa klausa WHERE .
Jika SQL LIKE klausa digunakan bersama dengan karakter% maka akan bekerja seperti karakter meta (*) di Unix, sementara daftar semua file atau direktori pada command prompt.
Tanpa karakter% LIKE klausa sangat mirip dengan tanda sama alongwith klausa WHERE .
Sintaks:
Berikut ini adalah sintaks SQL generik dari perintah SELECT bersama dengan LIKE klausa untuk mengambil data dari tabel MySQL :
SELECT field1, field2,...fieldN table_name1, table_name2... WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
- Anda dapat menentukan kondisi menggunakan klausa WHERE.
- Anda dapat menggunakan LIKE alongwith klausa klausa WHERE.
- Anda dapat menggunakan LIKE klausa di tempat tanda sama.
- Ketika LIKE digunakan tanda% alongwith maka akan bekerja seperti pencarian karakter meta.
- Anda dapat menentukan lebih dari satu kondisi dengan menggunakan operator AND atau OR
- Sebuah MANA … LIKE klausa dapat digunakan alongwith DELETE atau UPDATE perintah SQL juga untuk menentukan kondisi.
Menggunakan klausa LIKE di Command Prompt :
Hal ini akan menggunakan perintah SQL SELECT dengan MANA … SEPERTI klausa untuk mengambil data yang dipilih dari MySQL meja tutorials_tbl
Contoh:
Contoh berikut akan mengembalikan semua catatan dari meja yang tutorials_tbl nama penulis berakhir dengan jay :
root@host# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; Database changed mysql> SELECT * from tutorials_tbl -> WHERE tutorial_author LIKE '%jay'; +-------------+----------------+-----------------+-----------------+ | tutorial_id | tutorial_title | tutorial_author | submission_date | +-------------+----------------+-----------------+-----------------+ | 3 | JAVA Tutorial | Sanjay | 2007-05-21 | +-------------+----------------+-----------------+-----------------+ 1 rows in set (0.01 sec) mysql>
Menggunakan klausa LIKE dalam PHP Script :
Anda dapat menggunakan sintaks mirip WHERE … LIKE klausa dalam fungsi PHPmysql_query (). Fungsi ini digunakan untuk mengeksekusi perintah SQL dan kemudian fungsi PHP yang lain mysql_fetch_array () dapat digunakan untuk mengambil semua data yang dipilih jika MANA … LIKE klausa digunakan bersama dengan perintah SELECT.
Tetapi jika MANA … LIKE klausa yang digunakan dengan perintah DELETE atau UPDATE maka tidak memanggil fungsi PHP lebih lanjut diperlukan.
Contoh:
Coba contoh berikut untuk mengembalikan semua catatan dari meja tutorials_tbl yang berisi nama penulis jay :
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'SELECT tutorial_id, tutorial_title, tutorial_author, submission_date FROM tutorials_tbl WHERE tutorial_author LIKE "%jay%"'; mysql_select_db('TUTORIALS'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not get data: ' . mysql_error()); } while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) { echo "Tutorial ID :{$row['tutorial_id']} <br> ". "Title: {$row['tutorial_title']} <br> ". "Author: {$row['tutorial_author']} <br> ". "Submission Date : {$row['submission_date']} <br> ". "--------------------------------<br>"; } echo "Fetched data successfully\n"; mysql_close($conn); ?>