Reklama

Štruktúrovaný Dopytovací Jazyk (SQL) je pozoruhodne výkonný nástroj, ktorý je plný funkcií. Akonáhle sa naučíte najviac dôležité príkazy SQL 13 Najdôležitejšie príkazy SQL, ktoré by mal každý programátor poznaťKaždá veľká alebo dynamická webová stránka nejakým spôsobom používa databázu, a keď sa skombinuje so štruktúrovaným dopytovacím jazykom (SQL), možnosti na manipuláciu s údajmi sú skutočne nekonečné. Čítaj viac , môžete začať s tvorbou jazyka SQL trochu viac kreatívni. Dnes vám ukážem všetko, čo potrebujete vedieť o reťazcoch zreťazenia SQL.

Existuje mnoho rôznych dialektov SQL. Pre všetky tieto príklady používam PostgreSQL varianta.

Čo je zreťazenie?

Spojenie znamená spojiť dve veci dohromady. Možno ste ho použili v programovacom jazyku na spojenie dvoch reťazcov. Možno máte premenné pre meno a priezvisko, ktoré ste spojili ako premennú pre celé meno.

Spojenie je veľmi užitočný spôsob, ako skombinovať dva reťazce do jedného. PHP používa bodku na spojenie reťazcov, zatiaľ čo JavaScript

instagram viewer
a jQuery Základný sprievodca JQuery pre programátorov JavascriptAk ste programátor jazyka Javascript, tento sprievodca programom JQuery vám pomôže začať kódovať ako ninja. Čítaj viac použite znamienko plus.

Zlučovanie v SQL funguje úplne rovnako. Pomocou špeciálneho operátora spojíte dve veci do jednej. Tu je príklad v pseudokód:

first_name = Joe. last_name = Coburn. celé_name = meno a priezvisko

V programovacích jazykoch zreťazenie uľahčuje čítanie kódu. Ak váš kód vždy potrebuje prístup k dvom reťazcom, ich zlúčenie do jedného uľahčí zapamätanie a skráti jeho dĺžku.

Zatiaľ čo premenné v SQL sú menej bežné (ale stále sa používajú), zreťazenie je stále potrebné na vrátenie kombinovaných výsledkov alebo na manipuláciu s údajmi.

Ako zreťaziť

Zúženie je veľmi ľahké v SQL. Aj keď je SQL bežným jazykom, jednotlivé databázové nástroje implementujú funkcie rôznymi spôsobmi. Aj keď sú všetky tieto príklady v dialekte PostgreSQL, je ľahké preložiť do iných variantov jednoduchým vyhľadaním výrazu „Zjednodušiť“ na webe. . " Rôzne motory môžu mať rôznu syntax pre zreťazenie, ale princíp zostáva rovnaký.

Vráťme sa k nášmu príkladu, tu je základná informácia vybrať dopyt:

VYBERTE meno, priezvisko, e-mail Z tabuľky používateľov
sql vyberte

Nie je tu nič komplexné, pridajme teda zreťazené:

VYBRAŤ krstné meno || last_name AS full_name, email od users_table
sql základné zreťazenie

Ako vidíte, táto zreťazenie fungovalo dokonale, ale je tu jeden malý problém. Výsledné celé meno bolo zošité presne ako súčin oboch stĺpcov - medzi názvami by mala byť medzera!

Našťastie sa to dá ľahko opraviť: jednoducho medzi sebou vytvorte medzeru:

VYBRAŤ krstné meno || '' || last_name AS full_name, email od users_table
sql zreťazovací priestor

Toto sú základné príklady, ale mali by ste vidieť, ako zreťazenie funguje - je to skutočne také ľahké! Operátor potrubia (|) sa medzi klauzulami používa dvakrát. Váš mechanizmus SQL vie, že každá časť pred a za týmto symbolom by sa mala spojiť a malo by sa s ňou zaobchádzať ako s jednou. Buďte opatrní, ak však použijete operátora concat, ale nič nespojíte, dostanete chybu.

sql chyba

Ako je uvedené vyššie, v týchto príkladoch sa používa variant PostgreSQL SQL. Iné varianty môžu používať iného operátora alebo dokonca špeciálnu funkciu, ktorú musíte zavolať. Na tom vlastne nezáleží ako zreťazíte reťazce za predpokladu, že to urobíte spôsobom, aký váš databázový stroj očakáva.

Hlbšie

Teraz, keď poznáte základy, pozrime sa na niekoľko podrobných príkladov a na niektoré bežné úskalia.

Väčšina databázových nástrojov úspešne obsadí zmes reťazcov a celých čísel, prípadne aj dátumov. Zvyčajne sa stretnete s problémami, keď sa pokúšate zreťaziť zložité typy, ako sú polia:

VYBRAŤ krstné meno || '' || priezvisko || ARRAY [123, 456] AS full_name, e-mail od users_table

Tento kód nebude fungovať. Nie je možné kombinovať reťazce so zložitými objektmi, ako sú polia. Ak premýšľate o tom, čo musíte urobiť, môžete často napísať jednoduchý kód, ktorý funguje, a nie zložitý, bláznivý kód, ktorý sa nespustí.

Ak ste starostlivo premýšľali o tom, čo musíte urobiť, a napriek tomu nemôžete zabezpečiť fungovanie SQL, zvážili ste použitie programovacieho jazyka? Ako vývojár softvéru pracujúci na starom kóde viem, že bolesť pri pokuse o ladenie jazyka SQL, že niekto napchal toľko logiky, je zázrak, že to vôbec beží - ak sa snažíte písať logiku v jazyku SQL, prepnite sa do programovacieho jazyka (existuje veľa z ľahké jazyky sa učiť 6 najjednoduchších programovacích jazykov, ktoré sa majú učiť začiatočníciNaučiť sa programovať je o hľadaní správneho jazyka rovnako ako o procese editácie. Tu je šesť najjednoduchších programovacích jazykov pre začiatočníkov. Čítaj viac ).

Zúženie funguje veľmi dobre kde vyjadrenia:

VYBRAŤ meno, priezvisko, e-mail OD používateľskej tabuľky KDE date_of_birth = ('DAY' || '/' || 'MONTH' || '/' || 'YEAR'):: date

Deje sa tu niekoľko vecí. V tomto príklade DAY, MONTHa YEAR sú parametre, ktoré boli odovzdané zo skriptu. Možno ich vygeneroval kód alebo ich vložil užívateľ. Tieto sú spojené dohromady a potom prenášané na typ dátumu (pomocou syntaxe obsadenia PostgreSQL) ::dátum).

Použitím zreťazenia týmto spôsobom môžete zoskupiť jednotlivé časti dátumu, ktoré potom môžu byť spracované ako „skutočné“ dátumy, namiesto reťazca. Nezabudnite, že tento základný príklad nechráni pred SQL vstrekovanie Čo je to injekcia SQL? [MakeUseOf vysvetľuje]Svet bezpečnosti internetu sužujú otvorené porty, zadné vrátka, bezpečnostné diery, trójske kone, červy, zraniteľné miesta v bráne firewall a množstvo ďalších problémov, ktoré nás každý deň držia na nohách. Pre súkromných používateľov ... Čítaj viac , takže ho nepoužívajte v žiadnom produkčnom kóde bez úpravy.

Ďalším úskalím, na ktoré treba dať pozor, je nulový hodnoty (nulový reťazec je prázdny alebo neexistujúci reťazec). Na základe tohto dotazu:

VYBRAŤ krstné meno || '' || NULL AS full_name, email od users_table
sql nulové zreťazenie

Tento dotaz ticho zlyhá. Je to kvôli internému kódovaniu zreťazenia vo vašom databázovom stroji. Tento problém sa nemusí vždy stretnúť, je to však celkom bežný jav.

Ak sa domnievate, že údaje, ktoré váš dotaz vracia, môžu byť neplatné, budete musieť použiť znak a COALESCE. Coalesce možno zhruba považovať za „ak je null, nahraďte ho iným reťazcom alebo stĺpcom“:

VYBRAŤ krstné meno || '' || COALESCE (NULL, 'CHYBA NULL DATA') AS full_name, email od users_table
sql zreťazenie zlučuje

Teraz viete, ako používať zreťazenie v SQL, čo s tým urobíte? Budeš vytvoriť webovú stránku Ako si vytvoriť web: pre začiatočníkovDnes vás budem sprevádzať procesom vytvorenia kompletnej webovej stránky od začiatku. Nerobte si starosti, ak to znie ťažké. Prevediem vás každým krokom. Čítaj viac a oživili ste to pomocou SQL? Alebo možno budete potrebovať statický generátor stránok 7 dôvodov, prečo priekopať svoj CMS a zvážiť generátora statických stránokPo mnoho rokov bolo publikovanie webovej stránky pre mnohých používateľov zložité. CMS ako WordPress to zmenili, ale stále môžu byť mätúce. Inou alternatívou je generátor statických stránok. Čítaj viac pre jednoduchší prístup k vytváraniu webových stránok.

Nech už robíte čokoľvek, dajte nám vedieť v komentároch nižšie!

Joe je absolventom informatiky na University of Lincoln vo Veľkej Británii. Je to profesionálny vývojár softvéru a keď nelieta bezpilotných lietadiel alebo píše hudbu, často ho nájdu pri fotografovaní alebo výrobe videa.