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

MySQL SELECT 문에서 "LIMIT 0"이 허용되는 이유는 무엇입니까?

<시간/>

MySQL SELECT 문에서 LIMIT 0을 사용하면 알다시피 빈 집합을 반환합니다.

전체 행이 아닌 결과에서 지정된 수의 행을 원할 때 LIMIT를 사용할 수 있습니다. MySQL API를 사용하는 경우 LIMIT의 작업은 결과 열의 유형을 획득하는 것입니다.

LIMIT 0은 쿼리의 유효성을 확인하는 데 사용할 수 있습니다. 자세한 내용은 다음 링크를 사용하십시오 -

https://dev.mysql.com/doc/refman/8.0/en/limit-optimization.html

다음은 LIMIT 0의 데모입니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> 테이블 Limit0Demo 생성 -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받는 행 0개(0.61초) 

이제 insert 명령을 사용하여 테이블에 일부 레코드를 삽입할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> insert into Limit0Demo(Name) values('David');Query OK, 1개의 row가 영향을 받았습니다(0.13초)mysql> insert into Limit0Demo(Name) values('Larry');Query OK, 1개의 row가 영향을 받았습니다( 0.24초)mysql> Insert into Limit0Demo(Name) values('Carol');Query OK, 1개의 row가 영향을 받았습니다(0.17초)mysql> insert into Limit0Demo(Name) values('Bob');Query OK, 1개의 row가 영향을 받았습니다( 0.12초)mysql> Limit0Demo(Name) values('John')에 삽입, 쿼리 확인, 1개 행 영향(0.11초)mysql> Limit0Demo(Name) 값에 삽입('Sam'), 쿼리 확인, 1개 영향( 0.11초)mysql> Limit0Demo(Name) values('James')에 삽입, 쿼리 확인, 1행 영향(0.12초)mysql> Limit0Demo(Name) 값에 삽입('Maxwell'), 쿼리 OK, 1행 영향( 0.13초)mysql> Limit0Demo(Name) values('Ricky')에 삽입, 쿼리 확인, 1행 영향(0.09초)mysql> Limit0Demo(Name) 값에 삽입('Adam'), 쿼리 OK, 1행 영향( 0.06초)

이제 select 문을 사용하여 테이블의 모든 레코드를 표시할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> Select *from Limit0Demo;

다음은 출력입니다 -

+----+---------+| 아이디 | 이름 |+----+---------+| 1 | 데이비드 || 2 | 래리 || 3 | 캐롤 || 4 | 밥 || 5 | 존 || 6 | 샘 || 7 | 제임스 || 8 | 맥스웰 || 9 | 리키 || 10 | Adam |+----+---------+10행 세트(0.00초)

사례 1 :사용 한도 0.

쿼리는 다음과 같습니다 -

mysql> select *from Limit0Demo limit 0;빈 세트(0.00초)

사례 2 :테이블의 특정 행 수를 원할 때. 쿼리는 다음과 같습니다 -

mysql> Select *from Limit0Demo 제한 3;

다음은 출력입니다 -

+----+-------+| 아이디 | 이름 |+----+-------+| 1 | 데이비드 || 2 | 래리 || 3 | Carol |+----+-------+3행 세트(0.00초)