English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MySQL에서 SQL SELECT 명령어를 사용하여 데이터를 읽는 것을 알고 있습니다. SELECT 문장에서 WHERE 절을 사용하여 특정 레코드를 얻을 수 있습니다.
WHERE 절에서 등호 =를 사용하여 데이터를 얻는 조건을 설정할 수 있습니다. 예를 들어, "w3codebox_author = 'oldtoolbag.com'".
때로는 w3codebox_author 필드는 "COM" 문자를 포함한 모든 레코드가 있을 때, WHERE 절에서 SQL LIKE 절을 사용해야 합니다.
SQL LIKE 절에서百分号 % 문자는 유사한 문자를 나타내며, UNIX나 정규 표현식에서의 별표와 유사합니다. *.
百分号 %를 사용하지 않으면, LIKE 절은 등호 =와 같은 효과를 가집니다.
다음은 LIKE 절을 사용하여 데이터 테이블에서 데이터를 읽는 SQL SELECT 문장의 일반 문법입니다:
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] field2 ='somevalue'
WHERE 절에서 어떤 조건을 지정할 수 있습니다.
WHERE 절에서 LIKE 절을 사용할 수 있습니다.
LIKE 절을 사용하여 등호 =를 대체할 수 있습니다.
LIKE는 일반적으로 %와 함께 사용되며, 유사한 특수 문자로서의 검색과 유사합니다.
AND나 OR를 사용하여 하나나 여러 조건을 지정할 수 있습니다.
DELETE나 UPDATE 명령어에서 WHERE...LIKE 절을 사용하여 조건을 지정할 수 있습니다.
다음은 SQL SELECT 명령어에서 WHERE...LIKE 절을 사용하여 MySQL 데이터 테이블 w3codebox_tbl에서 데이터를 읽는다.
다음은 우리가 w3codebox_tbl 테이블에서 w3codebox_author 필드에 COM으로 끝나는 모든 레코드:
mysql> use w3codebox; Database changed mysql> SELECT * from w3codebox_tbl WHERE w3codebox_author LIKE '%COM'; +-----------+---------------+---------------+-----------------+ | w3codebox_id | w3codebox_title | w3codebox_author | submission_date | +-----------+---------------+---------------+-----------------+ | 3 | Java 학습 | oldtoolbag.com | 2015-05-01 | | 4 | Python 학습 | oldtoolbag.com | 2016-03-06 | +-----------+---------------+---------------+-----------------+ 2 rows in set (0.01 sec)
PHP 함수 mysqli_query()와 같은 SQL SELECT 명령을 WHERE...LIKE 문자열과 함께 사용하여 데이터를 가져옵니다.
이 함수는 SQL 명령을 실행하고 PHP 함수 mysqli_fetch_array()를 통해 모든 쿼리 데이터를 출력하는 데 사용됩니다.
만약 DELETE 또는 UPDATE에서 WHERE...LIKE 문자열을 사용하는 SQL 문을 사용할 경우 mysqli_fetch_array() 함수를 사용하지 않아도 됩니다.
다음은 PHP 스크립트를 사용하여 w3codebox_tbl에서 w3codebox_author 필드에 COM으로 끝나는 모든 레코드:
<?php $dbhost = 'localhost'; // 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 w3codebox_id, w3codebox_title, w3codebox_author, submission_date FROM w3codebox_tbl WHERE w3codebox_author LIKE "%COM"'; mysqli_select_db($conn, 'w3codebox'); $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, MYSQLI_ASSOC)) { echo "<tr><td> {$row['w3codebox_id']}</td> ". "<td>{$row['w3codebox_title']} </td> ". "<td>{$row['w3codebox_author']} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
출력 결과 다음과 같습니다: