Chytré způsoby, jak použít řetězec zřetězení SQL

  • Joseph Goodman
  • 0
  • 1155
  • 4
reklama

strukturovaný dotazovací jazyk (SQL) je pozoruhodně výkonný nástroj, který je plný funkcí. Jakmile zvládnete nejdůležitější příkazy SQL 13 Nejdůležitější příkazy SQL, které by měl každý programátor znát 13 Nejdůležitější příkazy SQL, které by měl každý programátor znát Každý velký nebo dynamický web používá nějakým způsobem databázi a v kombinaci s jazykem strukturovaného dotazu (SQL) , možnosti manipulace s daty jsou opravdu nekonečné. , můžete začít s tvorbou jazyka SQL trochu kreativnější. Dnes vám ukážu vše, co potřebujete vědět o řetězcích zřetězení SQL.

Existuje mnoho různých dialektů SQL. Pro všechny tyto příklady používám variantu PostgreSQL.

Co je zřetězení?

Zřetězení znamená spojit dvě věci dohromady. Možná jste ho použili v programovacím jazyce ke spojení dvou řetězců dohromady. Možná máte proměnné pro křestní jméno a příjmení, které jste spojili jako proměnnou pro celé jméno.

Zřetězení je velmi užitečný způsob, jak spojit dva řetězce do jednoho. PHP používá tečku k spojení řetězců, zatímco JavaScript a jQuery Základní průvodce JQuery pro programátory Javascript Základní průvodce JQuery pro programátory Javascript Pokud jste programátor Javascript, tento průvodce JQuery vám pomůže začít kódovat jako ninja. použijte znaménko plus.

Zřetězení v SQL funguje úplně stejně. Pomocí speciálního operátora spojíte dvě věci do jedné. Zde je příklad v pseudokódu:

first_name = Joe last_name = Coburn celé_name = first_name + last_name

V programovacích jazycích zřetězení usnadňuje čtení kódu. Pokud váš kód vždy potřebuje přístup ke dvěma řetězcům, jejich sloučení do jednoho usnadňuje zapamatování a zkracuje délku kódu.

Zatímco proměnné v SQL jsou méně běžné (ale stále se používají), zřetězení je stále potřeba k vrácení kombinovaných výsledků nebo k manipulaci s daty.

Jak zřetězit

Zřetězení je velmi snadné v SQL. Zatímco SQL je běžný jazyk, jednotlivé databázové stroje implementují funkce různými způsoby. Zatímco všechny tyto příklady jsou v dialektu PostgreSQL, je snadné přeložit do jiných variant jednoduše hledáním na webu “Zřetězené .” Různé motory mohou mít jinou syntaxi pro zřetězení, ale princip zůstává stejný.

Vraťme se k příkladu našeho jména, tady je základní vybrat dotaz:

VYBRAJTE křestní jméno, příjmení, e-mail OD uživatelských tabulek

Nic zde není složité, přidejte tedy zřetězené:

VYBRAT křestní jméno || last_name AS full_name, email od users_table

Jak vidíte, toto zřetězení fungovalo dokonale, ale je tu jeden malý problém. Výsledné celé jméno bylo spojeno přesně jako produkt obou sloupců - mezi názvy by měla být mezera!

Naštěstí je to snadné opravit: jednoduše vytvořte mezeru mezi těmito dvěma:

VYBRAT křestní jméno || "|| příjmení AS celé_jméno, e-mail FROM users_table

Toto jsou základní příklady, ale měli byste vidět, jak zřetězení funguje - je to opravdu tak snadné! Operátor potrubí (|) se používá dvakrát mezi klauzulami. Váš stroj SQL ví, že každá část před a za tímto symbolem by měla být spojena dohromady a považováno za jeden. Buďte však opatrní, pokud použijete operátor concat, ale nic zřetězeného, ​​dostanete chybu.

Jak je uvedeno výše, tyto příklady používají variantu SQL PostgreSQL. Jiné varianty mohou používat jiného operátora nebo dokonce speciální funkci, kterou musíte volat. Na tom opravdu nezáleží jak zřetězíte řetězce, pokud tak učiníte způsobem, který váš databázový stroj očekává.

Jdeme hlouběji

Nyní, když znáte základy, pojďme se podívat na několik podrobných příkladů spolu s některými běžnými úskalími.

Většina databázových strojů úspěšně zahraje směs řetězců a celých čísel, možná i dat. Při pokusech o zřetězení složitých typů, jako jsou pole, se obvykle setkáte s problémy:

VYBRAT křestní jméno || "|| příjmení || ARRAY [123, 456] AS full_name, e-mail OD uživatelských tabulek

Tento kód nebude fungovat. Není možné kombinovat řetězce se složitými objekty, jako jsou pole. Pokud přemýšlíte o tom, co musíte udělat, můžete často napsat jednoduchý kód, který funguje, spíše než složitý, šílený kód, který se nespustí.

Pokud jste pečlivě přemýšleli o tom, co musíte udělat, a přesto nemůžete přimět SQL, aby fungoval, uvažovali jste o použití programovacího jazyka? Jako vývojář softwaru, který pracuje na starém kódu, vím, jak se pokoušíte ladit SQL, že někdo přece jen tak přeplnil logiku, je to zázrak, že běží vůbec - pokud se pokoušíte psát logiku v SQL, pak přepněte na programování jazyk (existuje mnoho snadných jazyků, které lze naučit 6 Nejjednodušší programovací jazyky, které se mají učit pro začátečníky 6 Nejjednodušší programovací jazyky, které se mají učit pro začátečníky Naučit se program je o nalezení správného jazyka stejně jako o procesu editace. Zde je prvních šest nejjednodušší programovací jazyky pro začátečníky.).

Zřetězení funguje velmi dobře kde prohlášení také:

VYBRAJTE křestní jméno, příjmení, e-mail OD uživatelského stolu WHERE date_of_birth = ('DAY' || '/' || 'MONTH' || '/' || 'YEAR') :: date

Děje se tu pár věcí. V tomto příkladu, DEN, MĚSÍC, a ROK jsou parametry, které byly předány skriptem. Možná byly vygenerovány kódem nebo zadány uživatelem. Ty jsou zřetězeny dohromady a poté přeneseny na typ data (pomocí syntaxe obsazení PostgreSQL do dnešního dne) ::datum).

Pomocí zřetězení tímto způsobem můžete zřetězit jednotlivé části data, které pak mohou být zpracovány jako “nemovitý” datum, na rozdíl od řetězce. Nezapomeňte, že tento základní příklad nechrání před injekcí SQL. Co je injekce SQL? [MakeUseOf vysvětluje] Co je injekce SQL? [MakeUseOf vysvětluje] Svět bezpečnosti internetu je sužován otevřenými porty, zadními vrátkami, bezpečnostními dírami, trojskými koni, červy, zranitelnostmi v bráně firewall a spoustou dalších problémů, které nás každý den drží na nohou. Pro soukromé uživatele,…, tak ji nepoužívejte v žádném produkčním kódu bez úprav.

Další úskalí, na které je třeba dát pozor, je nula hodnoty (nulový řetězec je prázdný nebo neexistující řetězec). Na základě tohoto dotazu:

VYBRAT first_name || "|| NULL AS full_name, email FROM users_table

Tento dotaz tiše selže. Důvodem je interní kódování zřetězení v databázovém stroji. Nemusíte vždy narazit na tento problém, ale je to docela běžný výskyt.

Pokud si myslíte, že data, která váš dotaz vrací, mohou být null, pak budete muset použít splynout. Coalesce lze zhruba považovat za “pokud je to null, nahraďte jej jiným řetězcem nebo sloupcem”:

VYBRAJTE křestní jméno || "|| COALESCE (NULL, 'CHYBA NULL DATA') AS full_name, email FROM users_table

Nyní víte, jak používat zřetězení v SQL, co s tím uděláte? Vytvoříte web Jak vytvořit web: Pro začátečníky Jak si vyrobíte web: Pro začátečníky Dnes vás budu provázet procesem vytváření kompletního webu od nuly. Nebojte se, pokud to zní obtížně. Provedu vás tímto krokem na každém kroku. a oživili jste to s SQL? Nebo možná budete potřebovat statický generátor stránek. 7 důvodů, proč zkopírovat svůj CMS a zvážit statický generátor stránek. 7 důvodů, proč zkopírovat svůj CMS a zvážit statický generátor stránek. Po mnoho let bylo publikování webové stránky pro mnoho uživatelů obtížné. CMS, jako je WordPress, to změnilo, ale stále mohou být matoucí. Další alternativou je generátor statických stránek. pro jednodušší přístup k vytváření webových stránek.

Ať už děláte cokoli, dejte nám vědět v komentářích níže!




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.