MySQL-WHERE 절
우리는 SQL을 보았다 SELECTMySQL 테이블에서 데이터를 가져 오는 명령. 다음과 같은 조건절을 사용할 수 있습니다.WHERE Clause결과를 필터링합니다. 이 WHERE 절을 사용하여 테이블에서 필요한 레코드를 선택하는 선택 기준을 지정할 수 있습니다.
통사론
다음 코드 블록에는 MySQL 테이블에서 데이터를 가져 오는 WHERE 절이있는 SELECT 명령의 일반 SQL 구문이 있습니다.
SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
쉼표로 구분 된 하나 이상의 테이블을 사용하여 WHERE 절을 사용하는 다양한 조건을 포함 할 수 있지만 WHERE 절은 SELECT 명령의 선택적 부분입니다.
WHERE 절을 사용하여 모든 조건을 지정할 수 있습니다.
다음을 사용하여 둘 이상의 조건을 지정할 수 있습니다. AND 아니면 그 OR 연산자.
조건을 지정하기 위해 DELETE 또는 UPDATE SQL 명령과 함께 WHERE 절을 사용할 수도 있습니다.
그만큼 WHERE 절은 if condition모든 프로그래밍 언어로. 이 절은 주어진 값을 MySQL 테이블에서 사용 가능한 필드 값과 비교하는 데 사용됩니다. 외부에서 주어진 값이 MySQL 테이블에서 사용 가능한 필드 값과 같으면 해당 행을 반환합니다.
다음은 다음과 함께 사용할 수있는 연산자 목록입니다. WHERE 절.
필드 A에 10이 있고 필드 B에 20이 있다고 가정하면-
운영자 | 기술 | 예 |
---|---|---|
= | 두 피연산자의 값이 같은지 확인합니다. 그렇다면 조건이 참이됩니다. | (A = B)는 사실이 아닙니다. |
! = | 두 피연산자의 값이 같은지 확인합니다. 값이 같지 않으면 조건이 참이됩니다. | (A! = B)는 참입니다. |
> | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 큰지 확인하고, 그렇다면 조건이 참이됩니다. | (A> B)는 사실이 아닙니다. |
< | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작은 지 확인하고, 그렇다면 조건이 참이됩니다. | (A <B)는 사실입니다. |
> = | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크거나 같은지 확인합니다. 그렇다면 조건이 참이됩니다. | (A> = B)는 사실이 아닙니다. |
<= | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같은지 확인합니다. 그렇다면 조건이 참이됩니다. | (A <= B)는 참입니다. |
WHERE 절은 테이블에서 선택한 행을 가져 오려고 할 때 특히 유용합니다. MySQL Join. 조인은 다른 장에서 설명합니다.
다음을 사용하여 레코드를 검색하는 것이 일반적입니다. Primary Key 더 빠르게 검색 할 수 있습니다.
주어진 조건이 테이블의 레코드와 일치하지 않는 경우 쿼리는 어떤 행도 반환하지 않습니다.
명령 프롬프트에서 데이터 가져 오기
이것은 MySQL 테이블에서 선택된 데이터를 가져 오기 위해 WHERE 절과 함께 SQL SELECT 명령을 사용합니다. tutorials_tbl.
예
다음 예제는 모든 레코드를 반환합니다. tutorials_tbl 저자 이름이있는 테이블 Sanjay.
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl WHERE tutorial_author = 'Sanjay';
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
| 3 | JAVA Tutorial | Sanjay | 2007-05-21 |
+-------------+----------------+-----------------+-----------------+
1 rows in set (0.01 sec)
mysql>
수행하지 않는 한 LIKE문자열 비교는 대소 문자를 구분하지 않습니다. 다음을 사용하여 검색 대소 문자를 구분할 수 있습니다.BINARY 다음과 같이 키워드-
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl \
WHERE BINARY tutorial_author = 'sanjay';
Empty set (0.02 sec)
mysql>
PHP 스크립트를 사용하여 데이터 가져 오기
PHP 함수에 WHERE CLAUSE와 함께 동일한 SQL SELECT 명령을 사용할 수 있습니다. mysql_query(). 이 함수는 SQL 명령을 실행하고 나중에 다른 PHP 함수를 실행하는 데 사용됩니다.mysql_fetch_array()선택한 모든 데이터를 가져 오는 데 사용할 수 있습니다. 이 함수는 연관 배열, 숫자 배열 또는 둘 모두로 행을 리턴합니다. 이 함수는 행이 더 이상 없으면 FALSE를 반환합니다.
예
다음 예제는 모든 레코드를 반환합니다. tutorials_tbl 저자 이름이있는 테이블 Sanjay −
<?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 = "Sanjay"';
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);
?>