Latest web development tutorials

MySQL의 LIKE 절

우리는 SQL SELECT 명령을 사용하여 MySQL의에서 데이터를 읽을 것을 알고, 우리는 지정된 레코드를 얻기 위해 SELECT 문의 WHERE 절에 사용할 수 있습니다.

WHERE 절은 "w3big_author = '산 자'"로 데이터 수집 조건을 설정하는 등호 (=)를 사용할 수 있습니다.

그러나 때때로 우리는 w3big_author 필드가 모든 레코드 "제이"문자가, 우리가 WHERE 절 SQL LIKE 절을 사용할 필요가 들어 얻을 필요가있다.

유닉스 정규 표현식 또는 별표 (*)와 유사한 모든 문자를 표현하기 위해 백분율 기호 (%) 문자를 사용하여 SQL LIKE 절.

만약 등호 (=)와 절 LIKE 퍼센트 부호 (%)을 사용하지 않으면 효과가 동일하다.

문법

다음은 데이터 테이블 일반 구문에서 데이터를 읽을 수있는 LIKE 절을 사용하여 SQL SELECT 문은 다음과 같습니다

SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • 당신은 WHERE 절에있는 조건을 지정할 수 있습니다.
  • 당신은 WHERE 절에서 LIKE 절을 사용할 수 있습니다.
  • 당신은 등호 (=) 대신 LIKE 절을 사용할 수 있습니다.
  • LIKE 일반적 메타 문자의 검색과 유사한 %와 함께, 사용한다.
  • 당신은 사용 AND 나 OR 하나 이상의 조건을 지정할 수 있습니다.
  • 당신은 조건이 DELETE 또는 UPDATE 명령을 지정하는 절 LIKE ... WHERE를 사용할 수 있습니다.

명령 프롬프트에서 LIKE 절을 사용

우리는 LIKE 절은 w3big_tbl에서 MySQL의 테이블 데이터에서 데이터를 읽을 수 ...는 SQL SELECT 명령을 사용하여 아래.

여기에 우리가 w3big_author 필드를 얻을 것이다 "제이"모든 기록을 w3big_tbl 테이블을 종료하는 내용은 다음과 같습니다

root@host# mysql -u root -p password;
Enter password:*******
mysql> use w3big;
Database changed
mysql> SELECT * from w3big_tbl 
    -> WHERE w3big_author LIKE '%jay';
+-------------+----------------+-----------------+-----------------+
| w3big_id | w3big_title | w3big_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|           3 | JAVA Tutorial  | Sanjay          | 2007-05-21      |
+-------------+----------------+-----------------+-----------------+
1 rows in set (0.01 sec)

mysql>

PHP 스크립트의 절처럼 사용

당신은 데이터를 검색하는 절 LIKE ... WHERE 가져 오기 위하여는 mysql_query의 PHP 함수 ()와 같은 SQL SELECT 명령을 사용할 수 있습니다.

이 기능은 PHP 기능은 mysql_fetch_array를 통해 모든 쿼리의 출력 데이터 () 다음 SQL 명령을 실행하는 데 사용됩니다.

이 SQL에서 사용한다면 삭제 또는 절 LIKE, 당신은 mysql_fetch_array () 함수를 사용할 필요가 없습니다 ... UPDATE 문.

다음은 PHP 스크립트가 w3big_author 필드가 무엇을 읽고 우리가 사용의에 "제이"w3big_tbl 테이블의 모든 레코드의 끝 :

<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT w3big_id, w3big_title, 
               w3big_author, submission_date
        FROM w3big_tbl
        WHERE w3big_author LIKE "%jay%"';

mysql_select_db('w3big');
$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['w3big_id']}  <br> ".
         "Title: {$row['w3big_title']} <br> ".
         "Author: {$row['w3big_author']} <br> ".
         "Submission Date : {$row['submission_date']} <br> ".
         "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>