집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 배열과 유사한 데이터를 어떻게 저장하고 검색할 수 있습니까?
MySQL 데이터베이스에 배열을 저장하는 방법
MySQL은 기본적으로 배열을 지원하지 않지만 배열과 유사한 데이터를 저장하는 대체 접근 방식을 제공합니다. 일반적인 방법 중 하나는 여러 테이블을 활용하고 JOIN 연산을 사용하여 테이블 간의 관계를 설정하는 것입니다.
다중 테이블 생성
질문에 설명된 시나리오를 고려해보세요. Person 테이블의 "fruits" 열에 과일 배열을 저장하기 위해 다음 테이블을 만들 수 있습니다.
Person:
과일:
Person_Fruit(연결 테이블):
관계 구축
Person_Fruit 테이블은 연결 테이블 역할을 하여 다대다 관계를 생성합니다. Person 테이블과 Fruit 테이블 사이에는 많은 관계가 있습니다. 이 테이블의 한 행은 특정 사람과 특정 과일 간의 관계를 나타냅니다.
Storing Array-Like Data
한 사람의 과일 배열을 저장하려면 "과일" 열을 사용하려면 Person_Fruit 테이블에 여러 행을 삽입하세요. 각 행은 하나의 과일을 나타냅니다.
예를 들어, 과일을 저장하려면 id=1인 사람에 대해 "apple", "orange" 및 "banana"인 경우 Person_Fruit에 다음 행을 삽입합니다.
(1, "apple") (1, "orange") (1, "banana")
배열형 데이터 검색
한 사람의 과일 배열을 검색하려면 다음을 사용하여 Person, Person_Fruit 및 Fruit 테이블을 조인하세요. 쿼리:
SELECT p.`name` AS `person_name`, GROUP_CONCAT(f.`fruit_name`) AS `fruits` FROM Person AS p INNER JOIN Person_Fruit AS pf ON p.`id` = pf.`person_id` INNER JOIN Fruit AS f ON pf.`fruit_name` = f.`fruit_name` GROUP BY p.`name`
위 내용은 MySQL에서 배열과 유사한 데이터를 어떻게 저장하고 검색할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!