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!

In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

In Artikel werden Strategien zum Umgang mit großen Datensätzen in MySQL erörtert, einschließlich Partitionierung, Sharding, Indexierung und Abfrageoptimierung.

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]

In dem Artikel werden in MySQL die Ablagerung von Tabellen mithilfe der Drop -Tabellenerklärung erörtert, wobei Vorsichtsmaßnahmen und Risiken betont werden. Es wird hervorgehoben, dass die Aktion ohne Backups, die Detaillierung von Wiederherstellungsmethoden und potenzielle Produktionsumfeldgefahren irreversibel ist.

In dem Artikel werden in verschiedenen Datenbanken wie PostgreSQL, MySQL und MongoDB Indizes für JSON -Spalten in verschiedenen Datenbanken erstellt, um die Abfrageleistung zu verbessern. Es erläutert die Syntax und die Vorteile der Indizierung spezifischer JSON -Pfade und listet unterstützte Datenbanksysteme auf.

In Artikeln werden ausländische Schlüssel zur Darstellung von Beziehungen in Datenbanken erörtert, die sich auf Best Practices, Datenintegrität und gemeinsame Fallstricke konzentrieren.

Artikel erläutert die Sicherung von MySQL gegen SQL-Injektions- und Brute-Force-Angriffe unter Verwendung vorbereiteter Aussagen, Eingabevalidierung und starken Kennwortrichtlinien (159 Zeichen).


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Dreamweaver CS6
Visuelle Webentwicklungstools

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung