Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

행이 MySQL 테이블에 존재하는지 테스트하는 가장 좋은 방법

<시간/>

행이 MySQL 테이블에 존재하는지 여부를 테스트하려면 Existing 조건을 사용하십시오. 존재 조건은 하위 쿼리와 함께 사용할 수 있습니다. 테이블에 행이 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. True는 1의 형태로 표현되고, False는 0의 형태로 표현됩니다.

이해를 돕기 위해 먼저 CREATE 명령을 사용하여 테이블을 생성합니다. 다음은 테이블 생성 쿼리입니다 -

mysql> CREATE table ExistsRowDemo-> (-> ExistId int,-> Name varchar(100)-> );Query OK, 영향을 받은 행 0개(0.53초)

테이블을 성공적으로 만든 후 INSERT 명령을 사용하여 일부 레코드를 삽입합니다. 테이블에 레코드를 삽입하는 쿼리 -

mysql> INSERT into ExistsRowDemo values(100,'John');Query OK, 1행 영향(0.16초)mysql> INSERT into ExistsRowDemo values(101,'Bob');Query OK, 1행 영향(0.17초) )mysql> INSERT into ExistsRowDemo values(103,'Carol');Query OK, 1개의 row가 영향을 받았습니다(0.20초)mysql> INSERT into ExistsRowDemo values(104,'David');Query OK, 1개의 row가 영향을 받았습니다. /사전> 

모든 레코드를 삽입한 후 SELECT 명령을 사용하여 다음과 같이 표시할 수 있습니다. -

mysql> SELECT * from ExistsRowDemo;

다음은 출력입니다 -

+---------+-------+| 존재 ID | 이름 |+---------+-------+| 100 | 존 || 101 | 밥 || 103 | 캐롤 || 104 | David |+---------+-------+세트의 행 4개(0.00초)

일부 레코드를 테이블에 추가했습니다. EXISTS 조건을 이용하여 테이블에 행이 있는지 여부를 확인하는 구문은 다음과 같습니다. -

SELECT EXISTS(SELECT * FROM yourTableName WHERE yourCondition);

결과를 얻기 위해 위의 쿼리를 적용하고 있습니다 -

참고:먼저 테이블에 행이 존재하는 조건을 고려하고 있습니다. 이후 행이 존재하지 않을 때 조건을 언급합니다.

사례 1

이 경우 행이 존재할 때 조건을 부여합니다. 위의 구문을 적용하여 행이 있는지 여부를 테스트해 보겠습니다.

mysql> SELECT EXISTS(ExistsRowDemo WHERE ExistId=104의 SELECT *);

다음은 출력입니다 -

+---------------------------------------------- ------+| EXISTS(ExistsRowDemo WHERE ExistId=104의 SELECT *)|+------------------------------------------------- ------------------+| 1 |+------------------------------------------------- -------+1 행 세트(0.00초)

위의 샘플 출력에서 ​​우리가 얻은 값이 1이므로 행이 존재한다는 것이 분명합니다. 이것은 TRUE를 의미합니다!

사례 2

여기서는 row가 존재하지 않을 때의 조건을 설명하고 있습니다. 위 쿼리를 적용해보겠습니다.

mysql> SELECT EXISTS(ExistsRowDemo WHERE ExistId=105의 SELECT *);

다음은 출력입니다 -

+---------------------------------------------- ------+| EXISTS(ExistsRowDemo WHERE ExistId=105의 SELECT *)|+---------------------------------- ------------------+| 0 |+----------------------------------------------- -------+1 행 세트(0.00초)

위의 출력에서 ​​우리는 출력이 0, 즉 거짓(행이 존재하지 않음)임을 알 수 있습니다.