MySQL MariaDB

MySQL Kombiner strengkolonner med CONCAT-funktion

MySQL Kombiner strengkolonner med CONCAT-funktion
Sammenkædning af strenge i MySQL hjælper en med at tilføje en streng til slutningen af ​​en anden. Sammenkædning af streng- eller databankfelter til et ensomt felt inden for resultatsættet er muligt med MySQLs strengestyringsmetoder. Når du bruger MySQL CONCAT eller CONCAT WS-metoderne, vil du i denne vejledning opdage forskellige måder at sammenkæde to eller flere strenge samtidigt.

Åbn MySQL-kommandolinjeklientskallen fra applikationerne, og tilføj din adgangskode, når du spørger.

Eksempel 01: Sammenkæd to kolonner ved hjælp af CONCAT

Vi har en tabel 'lærer' i databasen 'data'. Vi ønsker at knytte dens strenge fra to kolonner "TeachName" og "efternavn" uden et mellemrum mellem dem.

Udfør kommandoen SELECT CONCAT med kolonnenavne i parentes adskilt med et komma. Den nye kolonne 'Navn' genereres for at gemme de sammenkædede strengværdier i den, og resultatet vises nedenfor.

>> VÆLG CONCAT (TeachName, efternavn) AS Name FROM data.lærer;

Eksempel 02: Sammenkæd to kolonner med mellemrum

Antag, at vi har nedenstående tabel "student" i databasen "data", og vi vil kombinere dens strenge fra to kolonner "Navn" og "Emne" med mellemrum mellem værdierne.

Brug nedenstående SELECT CONCAT-kommando, mens du angiver navnene på kolonner i parentes for at kombinere strengværdierne adskilt af et mellemrum. De sammenkædede værdier gemmes i en ny kolonne, ”StudentDetail.”Den resulterede kolonne har alle sammenkædede strenge nu.

>> VÆLG CONCAT (Navn, ", Emne) SOM StudentDetail FRA data.studerende;

Eksempel 03: Sammenkæd flere kolonner med specialtegn

Lad os antage nedenstående tabel "lærer" for at sammenkæde strengværdier fra mere end to kolonner med et andet specialtegn.

Prøv nedenstående kommando, mens du tilføjer '-' tegnet i stedet for mellemrum. Det resulterende sæt har den sammenkædede kolonne af strenge fra tabelkolonnerne med specialtegn brugt i den.

>> VÆLG CONCAT (TeachName, '-', subject, '-', kvalifikation) SOM Detaljer FRA data.lærer;

Eksempel 04: Sammenkædning under hentning af yderligere kolonner

Hvis du vil sammenkæde kolonnestrengene, mens du henter andre kolonner i samme forespørgsel, er du på det rette sted. Overvej tabellen "dyr" i databasen "data" nedenfor.

Vi har sammenkædet de tre kolonner; "Farve", "Navn" og "Køn", mens du bruger mellemrum og specialtegn imellem. Den sammenkædede streng fra disse kolonner gemmes i en ny kolonne, "AnimData". På den anden side har vi fået adgang til posterne for andre kolonner "Pris" og "Alder" fra denne tabel. Optegnelserne hentes fra de rækker, hvor dyrets køn er "M" betyder kun mandlig. Du har resultaterne af sammenkædede strenge fra forskellige kolonner såvel som andre kolonner, der er blevet vist separat.

>> VÆLG CONCAT (Farve, ", Navn, '-', Køn) AS AnimData, Pris, Alder FRA data.dyr HVOR Køn = 'M';

Eksempel 05: Sammenkæd flere strenge med kolonnestrenge

Hvis du vil tilføje strenge i stedet for specialtegn eller mellemrum, kan du også gøre det. Så lad os have et simpelt eksempel på at gøre dette. Antag, at du har en tabel "bog", og at du har nedenstående data om bøger, deres priser, forfattere, bind og sider som vist på billedet. Nu sammenkæder vi strengene fra kolonnen "Navn", "Forfatter" og "Pris" ved hjælp af denne tabel.

Vi har brugt SELECT CONCAT-sætningen til at sammenkæde strenge fra de tre kolonner. Alle data i denne tabel sorteres først i stigende rækkefølge i kolonnen "Navn". I parentes har vi angivet "Bogen", "skrevet af" og "har pris" som ekstra strenge i stedet for mellemrum eller specialtegn inden for inverterede kommaer. Nu tager CONCAT-funktionen den første inverterede kommaværdi "Bogen" sammen med værdien fra kolonnen "Navn", derefter den anden inverterede kommaværdi 'skrevet af' efterfulgt af kolonnen "Forfatter" strengværdi og til sidst den tredje omvendt kommaværdi “har pris” efterfulgt af værdien af ​​kolonnen 'Pris'. Alle disse strenge og værdier fra kolonnerne kombineres, og det giver en fuldstændig sætning. Denne helt nye mega streng sætning gemmes i den nye kolonne "BookDetail".

>> VÆLG CONCAT ('Bogen', Navn, 'skrevet af', Forfatter, 'har pris', Pris) SOM BookDetail FRA data.bog BESTIL efter navn ASC;

Eksempel 06: Sammenkædning af kolonnestrenge ved hjælp af CONCAT_WS

CONCAT_WS ser ud til at være en unik variant af CONCAT-funktionen, der giver dig mulighed for at specificere, hvilket symbol (eller tegn) der vil blive afskediget som en skillevæg, der vedrører streng sammenkædning. Det er så simpelt som den enkle CONCAT-funktion. Så lad os overveje tabellen "social" i MySQL-databasen med værdier om brugerne, deres mest anvendte sociale medieapplikationer og brugernes aldre. Nu udfører vi sammenkædningen ved hjælp af CONCAT_WS-funktionen.

I forespørgslen nedenfor har vi sammenkædet tre kolonner og gemt dette sammenkædede resultat i kolonnen "Detalje". Som du kan se, er der noget andet, da vi har defineret nogle specialtegn "***" i de omvendte kommaer før kolonnenavnene. Dette skyldes, at vi vil tilføje disse specialtegn mellem strengene i kolonnerne og komme efter hinanden ved hjælp af CONTACT_WS-funktionen. Fra dette scenarie er det klart, at vi ikke behøver at sætte specialtegn i forespørgslen efter hver specificeret kolonne, når det kommer til den samme type karakter.

>> VÆLG CONCAT_WS ('***', bruger, hjemmeside, alder) SOM detalje FRA data.social;

Konklusion:

Du lærer nu effektivt alle væsentlige ting ved sammenkædning af strengkolonner og deres værdier ved hjælp af den enkle CONCAT-funktion og CONCAT_WS-funktionen i MySQL Shell.

Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...
OpenTTD vs Simutrans
Oprettelse af din egen transportsimulering kan være sjovt, afslappende og ekstremt lokkende. Derfor skal du sørge for at prøve så mange spil som mulig...
OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...