> 데이터 베이스 > MySQL 튜토리얼 > 여러 테이블을 사용하여 MySQL에서 데이터 배열을 효율적으로 저장하고 검색하려면 어떻게 해야 합니까?

여러 테이블을 사용하여 MySQL에서 데이터 배열을 효율적으로 저장하고 검색하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-12-05 19:54:11
원래의
464명이 탐색했습니다.

How Can I Efficiently Store and Retrieve Arrays of Data in MySQL Using Multiple Tables?

MySQL에 배열 저장: 다중 테이블 솔루션

MySQL에서는 배열이 없기 때문에 배열을 직접 저장하는 것이 간단하지 않습니다. 데이터 유형. 다른 테이블의 값을 참조하는 문자열 배열을 저장하려면 다중 테이블 디자인 방식이 일반적으로 사용됩니다.

테이블 디자인

Person과 Fruit라는 두 개의 테이블을 만듭니다. Person에는 이름과 배열 데이터를 저장할 과일 열이 포함되어 있습니다. 과일에는 과일_이름, 색상 및 가격이 포함됩니다.

CREATE TABLE Person (
    `id` INT NOT NULL PRIMARY KEY,
    `name` VARCHAR(50),
    `fruits` VARCHAR(255)
);

CREATE TABLE Fruit (
    `fruit_name` VARCHAR(20) NOT NULL PRIMARY KEY,
    `color` VARCHAR(20),
    `price` INT
);
로그인 후 복사

배열 데이터 저장

과일 열에 과일 이름 배열을 저장하려면 쉼표로 구분된 목록입니다. 예:

INSERT INTO Person (`name`, `fruits`) VALUES ('John Doe', 'apple,banana,orange');
로그인 후 복사

배열 데이터 검색

사람의 과일 이름 배열을 검색하려면 JOIN 쿼리를 사용하여 Person 및 Fruit 테이블을 기반으로 연결합니다.

SELECT p.name, f.fruit_name
FROM Person p
INNER JOIN Person_Fruit pf
ON pf.person_id = p.id
INNER JOIN Fruit f
ON f.fruit_name = pf.fruit_name;
로그인 후 복사

이 쿼리는 과일 이름과 관련된 사람의 이름과 과일 이름을 반환합니다.

위 내용은 여러 테이블을 사용하여 MySQL에서 데이터 배열을 효율적으로 저장하고 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿