MySQL에서 쉼표로 구분된 값을 개별 행으로 변환
이 가이드에서는 MySQL 열 내의 쉼표로 구분된 값을 개별 행으로 변환하는 방법을 보여줍니다. 다음과 같이 쉼표로 구분된 데이터가 포함된 열이 있는 테이블이 있다고 가정해 보겠습니다.
<code>somethingA,somethingB,somethingC somethingElseA, somethingElseB</code>
목표는 이 데이터를 다음과 같이 재구성하는 것입니다.
<code>somethingA somethingB somethingC somethingElseA somethingElseB</code>
이 SQL 쿼리는 다음과 같은 변환을 수행합니다.
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(t.values, ',', n.n), ',', -1) value FROM table1 t CROSS JOIN ( SELECT a.N + b.N * 10 + 1 n FROM (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) a ,(SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) b ORDER BY n ) n WHERE n.n <= LENGTH(t.values) - LENGTH(REPLACE(t.values, ',', '')) + 1;
설명:
이 쿼리는 동적으로 생성된 숫자 테이블(하위 쿼리)과 SUBSTRING_INDEX()
함수를 교묘하게 사용합니다. SUBSTRING_INDEX()
구분 기호를 기준으로 하위 문자열을 추출합니다. 숫자 테이블은 각 쉼표로 구분된 값에 대한 색인을 제공합니다. WHERE
절은 쿼리가 각 행에서 쉼표로 구분된 실제 요소 수까지만 값을 처리하도록 보장합니다.
핵심 사항:
-
SUBSTRING_INDEX(string, delimiter, count)
: 이 기능은 매우 중요합니다.string
은 입력이고,delimiter
은 쉼표이며,count
은 사용할 구분 기호를 지정합니다.count
의-1
은 마지막 구분 기호 이후의 모든 항목을 가져옵니다. - 하위 쿼리는 임시 숫자 테이블을 생성합니다. 이러한 유형의 작업을 자주 수행하는 경우 성능 향상을 위해 기존 숫자 테이블로 대체할 수 있습니다.
-
WHERE
절은 원본 문자열의 쉼표 수에 따라 반환되는 행 수를 동적으로 조정하여 오류를 방지합니다.
이 방법은 쉼표로 구분된 값을 개별 행으로 효과적으로 분할하여 더 깔끔하고 관리하기 쉬운 데이터세트를 만듭니다.
위 내용은 MySQL에서 쉼표로 구분된 값을 개별 행으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

mysqloffersvariouscharactersetsforstringdatatypes : 1) latin1forwesterneuropeanlanguages, 2) utf8formultulaultualsupport, 3) UTF8MB4F orextendedUnicodeincludeemojis, 4) UCS2Forfixed-widTheNcoding 및 5) asciiforbasiclatin.ChoingTherightSetensuresDatainTegrity

스트리밍 블로브는 메모리 사용량을 줄이고 성능을 향상시키기 때문에 직접 저장보다 더 좋습니다. 1) 파일을 점차적으로 읽고 처리함으로써 데이터베이스 팽창 및 성능 저하를 피합니다. 2) 스트리밍에는 더 복잡한 코드 로직이 필요하며 I/O 작업 수를 증가시킬 수 있습니다.

mysqlStringTypESmpactStorageAndperformanceAsfollows : 1) charisfixed, adlaysamestoragespace.

mysqlstringtypesincludevarchar, text, char, enum, and set.1) varcharisversatileforvariable-lengthstringsupciedlimit.2) textisidealforlargetextStorage whithoudfinedlength.3) charisfixed, witableforconsistentDatalikecodes.4)

mysqloffersvariousstringdatatatypes : 1) charfixed-lengthstrings, 2) varcharforvariable-lengthtext, 3) binaryandvarbinaryforbinarydata, 4) blobandtextforlargedata 및 5) enumandsetforcontrolledInput.achtolledinput.CheachorciCificusessandperististicatististicatististics

ToadDuserSinMySqleFeffectially, 다음에 따르면, 다음 사항을 따르십시오

toaddanewuser와 함께 complexpermissionsinmysql, followthesesteps : 1) createShereuser'NewUser '@'localhost'Identifiedby'pa ssword ';. 2) grantreadaccesstoalltablesin'mydatabase'withgrantselectonmydatabase.to'newuser'@'localhost';. 3) GrantWriteAccessto '


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경