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

MySQL 결과 세트를 지정된 것과 동일하게 만드는 방법은 무엇입니까?

<시간/>

이를 위해 MySQL FIND_IN_SET()을 사용합니다. 먼저 테이블을 생성하겠습니다 -

mysql> 테이블 DemoTable1563 생성 -> ( -> StudentId int, -> StudentName varchar(20) -> );쿼리 OK, 영향을 받는 행 0개(0.52초)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> Insert into DemoTable1563 values(1001,'Chris');Query OK, 1개의 row가 영향을 받았습니다(0.11초)mysql> insert into DemoTable1563 values(1010,'Bob');Query OK, 1 row가 영향을 받았습니다(0.15초 )mysql> DemoTable1563 값에 삽입(1005,'Chris');쿼리 OK, 1행 영향(0.20초)mysql> DemoTable1563 값에 삽입(1015,'David');쿼리 OK, 1행 영향(0.10초)mysql> insert into DemoTable1563 values(1030,'Mike');Query OK, 1개의 row가 영향을 받았습니다(0.18초)mysql> insert into DemoTable1563 values(1020,'Sam');Query OK, 1개의 row가 영향을 받았습니다(0.14초)> 

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> DemoTable1563에서 * 선택;

이것은 다음과 같은 출력을 생성합니다 -

+-----------+-------------+| 학생 ID | 학생 이름 |+-----------+-------------+| 1001 | 크리스 || 1010 | 밥 || 1005 | 크리스 || 1015 | 데이비드 || 1030 | 마이크 || 1020 | Sam |+-------------+-------------+6행 세트(0.00초)

다음은 지정된 것과 동일한 MySQL 결과 집합을 구성하는 쿼리입니다. -

mysql> select * from DemoTable1563 -> 여기서 StudentId IN(1001,1030,1010,1020) -> find_in_set(StudentId,'1001,1030,1010,1020')으로 주문;

이것은 다음과 같은 출력을 생성합니다 -

+-----------+-------------+| 학생 ID | 학생 이름 |+-----------+-------------+| 1001 | 크리스 || 1030 | 마이크 || 1010 | 밥 || 1020 | Sam |+--------+-------------+4행 세트(0.00초)