suchen
HeimDatenbankMySQL-TutorialWie teile ich verkettete Zeichenfolgen in MySQL in einzelne Zeilen auf?

How to Split Concatenated Strings in MySQL into Individual Rows?

Aufteilen verketteter Zeichenfolgen in MySQL

Bei der Arbeit mit Datenbanktabellen kann es vorkommen, dass eine einzelne Spalte mehrere Werte enthält, die zu einem einzigen verkettet sind Zeichenfolge. Während die Funktion GROUP_CONCAT hervorragend darin ist, mehrere Zeilen zu einer einzigen Zeichenfolge zusammenzufassen, kann ihr umgekehrter Vorgang, bei dem eine verkettete Zeichenfolge in einzelne Zeilen aufgeteilt wird, eine Herausforderung darstellen. Dieser Vorgang wird allgemein als String-Erweiterung oder -Zerlegung bezeichnet.

Problemstellung:

Sie erhalten eine Tabelle, in der eine Spalte mit dem Namen „Farben“ gespeichert ist, die Komma- getrennte Farblisten. Ihr Ziel ist es, die Tabelle in ein Format umzustrukturieren, in dem jede Zeile eine einzelne Farbe darstellt.

Beispieltabelle:

id colors
1 Red,Green,Blue
2 Orangered,Periwinkle

Gewünschte Tabelle Format:

id colors
1 Red
1 Green
1 Blue
2 Orangered
2 Periwinkle

Lösung:

Um das gewünschte Ergebnis zu erzielen, können Sie das folgende MySQL verwenden Abfrage:

SELECT
  id,
  SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n.digit+1), ',', -1) AS color
FROM
  colors
  INNER JOIN
  (SELECT 0 AS digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) AS n
  ON LENGTH(REPLACE(colors, ',', '')) <p><strong>Erklärung:</strong></p><ol>
<li>SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n.digit 1), ',', -1 ): Dieser Ausdruck wird verwendet, um einzelne Farben aus der verketteten Zeichenfolge zu extrahieren. Zuerst wird SUBSTRING_INDEX verwendet, um die Teilzeichenfolge zu extrahieren, beginnend beim ersten Komma nach dem n-ten Komma und endend beim nächsten Komma. Anschließend wird die Teilzeichenfolge vom zweiten Komma bis zum Ende der Zeichenfolge extrahiert. Dadurch wird effektiv eine einzelne Farbe ausgewählt.</li>
<li>(SELECT 0 AS digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3): Diese Unterabfrage generiert eine Folge von Zahlen von 0 bis 3, die die Position jeder einzelnen Farbe darstellt Farbe in der verketteten Zeichenfolge.</li>
<li>ON LENGTH(REPLACE(colors, ',', '')) </li>
<li>ORDER BY id, n.digit : Dadurch wird sichergestellt, dass die Ergebnisse sowohl nach ID als auch nach Farbposition innerhalb der Farbspalte sortiert werden.</li>
</ol><p><strong>Hinweis:</strong> Bei dieser Abfrage wird davon ausgegangen, dass jede Zeile maximal 4 Farben enthält. Wenn Ihre Zeilen mehr als 4 Farben haben können, müssen Sie die Unterabfrage ändern, um eine größere Zahlenfolge zu generieren.</p><p>Durch die Implementierung dieser Abfrage können Sie die verketteten Zeichenfolgen in Ihrer Tabelle effektiv in einzelne Zeilen aufteilen. Dies ermöglicht eine einfachere Verarbeitung und Analyse.</p>

Das obige ist der detaillierte Inhalt vonWie teile ich verkettete Zeichenfolgen in MySQL in einzelne Zeilen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
BLOB -Datentyp in MySQL: Eine detaillierte Übersicht für EntwicklerBLOB -Datentyp in MySQL: Eine detaillierte Übersicht für EntwicklerMay 07, 2025 pm 05:41 PM

BlobDatatypesinmysqlareUTForVoringLargebinaryDatalikeMageSoraudio.1) UseBlobTypes (Tinyblobtolongblob) basiertdatasizeneeds. 2) StoreBlobsin Perplate Petooptimize -Leistung.3) berücksichtigt den Vorbild für Forel Blob Romana DatabaseSizerIndimProveBackupupe

So fügen Sie Benutzer von der Befehlszeile zu MySQL hinzuSo fügen Sie Benutzer von der Befehlszeile zu MySQL hinzuMay 07, 2025 pm 05:01 PM

ToadduSerStomysqlfromtheCommandline, loginasroot, thenusecreateuser'username '@' host'identified by'password ';

Was sind die unterschiedlichen Zeichenfolgendatentypen in MySQL? Eine detaillierte ÜbersichtWas sind die unterschiedlichen Zeichenfolgendatentypen in MySQL? Eine detaillierte ÜbersichtMay 07, 2025 pm 03:33 PM

MySqloffereightStringDatatypes: char, varchar, binär, varbarin, blob, text, enum.1) charisfixed-length, idealforconsistentDatalikecountrycodes.2) varcharisvariable-Länge, effizientes VariationDatalikenames.3)

Die ultimative Anleitung zum Hinzufügen von Benutzern in MySQLDie ultimative Anleitung zum Hinzufügen von Benutzern in MySQLMay 07, 2025 pm 03:29 PM

Toaddauserinmysql, useThecreateuserStatement.1) UsecreatUser'Newuser '@' localhost'identified by'password '; tocreateaus.2) EnforcestongpasswordPoliciesWithvalidat_PaswordPluginSetings

Was sind gespeicherte Verfahren in MySQL?Was sind gespeicherte Verfahren in MySQL?May 01, 2025 am 12:27 AM

Speichernde Verfahren sind vorkompilierte SQL -Anweisungen in MySQL zur Verbesserung der Leistung und zur Vereinfachung komplexer Vorgänge. 1. Verbesserung der Leistung: Nach der ersten Zusammenstellung müssen nachfolgende Anrufe nicht neu kompiliert werden. 2. Die Sicherheit verbessern: Beschränken Sie den Zugriff auf die Datenentabelle durch Berechtigungssteuerung. 3. Vereinfachen Sie komplexe Operationen: Kombinieren Sie mehrere SQL -Anweisungen, um die Logik der Anwendungsschicht zu vereinfachen.

Wie funktioniert das Caching von Abfrage in MySQL?Wie funktioniert das Caching von Abfrage in MySQL?May 01, 2025 am 12:26 AM

Das Arbeitsprinzip des MySQL -Abfrage -Cache besteht darin, die Ergebnisse der ausgewählten Abfrage zu speichern. Wenn dieselbe Abfrage erneut ausgeführt wird, werden die zwischengespeicherten Ergebnisse direkt zurückgegeben. 1) Abfrage -Cache verbessert die Leistung der Datenbank und findet zwischengespeicherte Ergebnisse durch Hash -Werte. 2) Einfache Konfiguration, setzen Sie in MySQL -Konfigurationsdatei query_cache_type und query_cache_size. 3) Verwenden Sie das Schlüsselwort SQL_NO_Cache, um den Cache spezifischer Abfragen zu deaktivieren. 4) In Hochfrequenz-Update-Umgebungen kann Abfrage-Cache Leistungs Engpässe verursachen und muss für die Verwendung durch Überwachung und Anpassung von Parametern optimiert werden.

Was sind die Vorteile der Verwendung von MySQL gegenüber anderen relationalen Datenbanken?Was sind die Vorteile der Verwendung von MySQL gegenüber anderen relationalen Datenbanken?May 01, 2025 am 12:18 AM

Die Gründe, warum MySQL in verschiedenen Projekten häufig verwendet wird, umfassen: 1. Hochleistungs und Skalierbarkeit, die mehrere Speichermotoren unterstützen; 2. Einfach zu verwendende und pflegende, einfache Konfiguration und reichhaltige Werkzeuge; 3. Reiches Ökosystem, das eine große Anzahl von Community- und Drittanbietern anzieht; V.

Wie behandeln Sie Datenbank -Upgrades in MySQL?Wie behandeln Sie Datenbank -Upgrades in MySQL?Apr 30, 2025 am 12:28 AM

Zu den Schritten für die Aktualisierung der MySQL -Datenbank gehören: 1. Sicherung der Datenbank, 2. Stoppen Sie den aktuellen MySQL -Dienst, 3. Installieren Sie die neue Version von MySQL, 14. Starten Sie die neue Version des MySQL -Dienstes, 5. Wiederherstellen Sie die Datenbank wieder her. Während des Upgrade -Prozesses sind Kompatibilitätsprobleme erforderlich, und erweiterte Tools wie Perconatoolkit können zum Testen und Optimieren verwendet werden.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor