
Harry James
0
2122
137
Język zapytań strukturalnych (SQL) to niezwykle potężne narzędzie, które jest pełne funkcji. Po opanowaniu najważniejszych poleceń SQL 13 najważniejszych poleceń SQL każdy programista powinien wiedzieć 13 najważniejszych poleceń SQL każdy programista powinien wiedzieć Każda duża lub dynamiczna witryna internetowa korzysta w jakiś sposób z bazy danych, a także w połączeniu ze strukturalnym językiem zapytań (SQL) , możliwości manipulowania danymi są naprawdę nieograniczone. , możesz zacząć być bardziej kreatywny dzięki swojemu SQL. Dzisiaj pokażę ci wszystko, co musisz wiedzieć o ciągach konkatenacji SQL.
Istnieje wiele różnych dialektów SQL. Do wszystkich tych przykładów używam wariantu PostgreSQL.
Co to jest konkatenacja?
Łączenie oznacza połączenie dwóch rzeczy razem. Być może użyłeś go w języku programowania do połączenia dwóch ciągów razem. Być może masz zmienne imienia i nazwiska, które połączyłeś razem jako zmienną pełną imienia i nazwiska.
Łączenie to bardzo przydatny sposób łączenia dwóch ciągów w jeden. PHP używa kropki do łączenia ze sobą łańcuchów, podczas gdy JavaScript i jQuery Podstawowy przewodnik po JQuery dla programistów Javascript Podstawowy przewodnik po JQuery dla programistów JavaScript Jeśli jesteś programistą Javascript, ten przewodnik po JQuery pomoże Ci zacząć kodować jak ninja. użyj znaku plus.
Łączenie w SQL działa dokładnie tak samo. Korzystasz ze specjalnego operatora, aby połączyć dwie rzeczy w jedną. Oto przykład w Pseudocode:
first_name = Joe last_name = Coburn Whole_name = first_name + last_name
W językach programowania łączenie ułatwia czytanie kodu. Jeśli Twój kod zawsze potrzebuje dostępu do dwóch ciągów, połączenie ich w jeden ułatwia zapamiętanie i skraca długość kodu.
Podczas gdy zmienne w SQL są mniej powszechne (ale nadal są używane), konkatenacja jest nadal potrzebna, aby zwrócić połączone wyniki lub manipulować danymi.
Jak połączyć?
Łączenie jest bardzo łatwe w SQL. Podczas gdy SQL jest wspólnym językiem, poszczególne silniki baz danych implementują funkcje na różne sposoby. Chociaż wszystkie te przykłady są w dialekcie PostgreSQL, łatwo jest przetłumaczyć na inne warianty, po prostu wyszukując w Internecie “Powiązać .” Różne silniki mogą mieć inną składnię dla konkatenacji, ale zasada pozostaje taka sama.
Wracając do naszego przykładu nazwy, oto podstawowa Wybierz pytanie:
WYBIERZ imię, nazwisko, wyślij e-mail z tabeli użytkowników
Nic skomplikowanego tutaj, więc dodajmy konkatenat:
WYBIERZ pierwsze imię || last_name AS full_name, email FROM users_table
Jak widać, ta konkatenacja działała doskonale, ale jest jeden mały problem. Wynikowa pełna nazwa została zszyta dokładnie tak, jak iloczyn obu kolumn - między nazwami powinna być spacja!
Na szczęście łatwo to naprawić: po prostu spacji między nimi:
WYBIERZ pierwsze imię || "|| last_name AS pełna nazwa, wyślij e-mail z tabeli_użytkowników
To są podstawowe przykłady, ale powinieneś zobaczyć, jak działa konkatenacja - to naprawdę takie proste! Operator rur (|) jest używany dwukrotnie między klauzulami. Twój silnik SQL wie, że każda część przed i po tym symbolu powinna być połączona i traktowana jako jedna. Bądź jednak ostrożny, jeśli użyjesz operatora konkatacji, ale niczego nie konkatenujesz, pojawi się błąd.
Jak wspomniano powyżej, przykłady te wykorzystują wariant SQL PostgreSQL. Inne warianty mogą używać innego operatora lub nawet specjalnej funkcji, którą musisz wywołać. To naprawdę nie ma znaczenia w jaki sposób łączysz ciągi znaków, pod warunkiem, że robisz to zgodnie z oczekiwaniami silnika bazy danych.
Będzie głębiej
Teraz, gdy znasz już podstawy, spójrzmy na kilka szczegółowych przykładów, a także niektóre typowe pułapki.
Większość silników baz danych z powodzeniem łączy kombinację ciągów i liczb całkowitych, a może nawet dat. Zwykle występują problemy podczas próby łączenia złożonych typów, takich jak tablice:
SELECT first_name || "|| last_name || ARRAY [123, 456] AS full_name, email FROM users_table
Ten kod nie będzie działał. Nie można łączyć łańcuchów ze złożonymi obiektami, takimi jak tablice. Jeśli myślisz o tym, co musisz zrobić, często możesz napisać prosty kod, który działa, zamiast złożonego, szalonego kodu, który nie działa.
Jeśli dokładnie zastanowiłeś się, co musisz zrobić i nadal nie możesz uruchomić SQL, to czy zastanawiałeś się nad użyciem języka programowania? Jako programista pracujący nad starszym kodem znam ból związany z próbą debugowania SQL, w którym ktoś wcisnął tyle logiki, to cud, że w ogóle działa - jeśli próbujesz napisać logikę w SQL, to przełącz się na programowanie język (istnieje wiele łatwych języków do nauki 6 najłatwiejszych języków programowania dla początkujących 6 najłatwiejszych języków programowania dla początkujących Nauka programowania polega na znalezieniu odpowiedniego języka tak samo, jak na procesie edycji. Oto pierwsza szóstka najłatwiejsze języki programowania dla początkujących.).
Łączenie działa bardzo dobrze gdzie oświadczenia również:
WYBIERZ imię, nazwisko, e-mail Z tabeli_użytkowników GDZIE data urodzenia = („DZIEŃ” || ”/” || „MIESIĄC” || ”/„ || „ROK”) :: data
Dzieje się tutaj kilka rzeczy. W tym przykładzie, DZIEŃ, MIESIĄC, i ROK to parametry przekazane ze skryptu. Być może zostały one wygenerowane przez kod lub wprowadzone przez użytkownika. Są one łączone razem, a następnie rzutowane na typ daty (przy użyciu składni rzutowania PostgreSQL do tej pory ::data).
Korzystanie z konkatenacji w ten sposób pozwala połączyć ze sobą poszczególne części daty, które można następnie przetworzyć jako “real” data, w przeciwieństwie do ciągu. Nie zapominaj, że ten podstawowy przykład nie chroni przed iniekcją SQL Co to jest iniekcja SQL? [MakeUseOf wyjaśnia] Co to jest zastrzyk SQL? [MakeUseOf wyjaśnia] Świat bezpieczeństwa internetowego jest nękany otwartymi portami, tylnymi drzwiami, dziurami w zabezpieczeniach, trojanami, robakami, lukami w zaporze ogniowej i mnóstwem innych problemów, które utrzymują nas wszystkich na nogi. Dla użytkowników prywatnych… więc nie używaj go w żadnym kodzie produkcyjnym bez modyfikacji.
Kolejną pułapką, na którą należy uważać, jest zero wartości (łańcuch zerowy jest łańcuchem pustym lub nieistniejącym). Biorąc pod uwagę to zapytanie:
WYBIERZ imię imię || "|| NULL AS pełna nazwa, wyślij e-mail z tabeli użytkowników
To zapytanie po cichu kończy się niepowodzeniem. Wynika to ze sposobu, w jaki konkatenacja jest wewnętrznie kodowana w silniku bazy danych. Nie zawsze możesz napotkać ten problem, ale jest to dość powszechne zjawisko.
Jeśli uważasz, że dane zwracane przez zapytanie mogą być zerowe, musisz użyć łączyć. Koalescencję można z grubsza uznać za “jeśli jest to null, zamień go na inny ciąg lub kolumnę”:
SELECT first_name || "|| COALESCE (NULL, 'ERROR NULL DATA') JAKO pełna nazwa, e-mail z tabeli users_table
Teraz wiesz, jak używać konkatenacji w SQL, co z tym zrobisz? Czy stworzysz stronę internetową Jak zrobić stronę internetową: dla początkujących Jak zrobić stronę internetową: dla początkujących Dzisiaj poprowadzę cię przez proces tworzenia kompletnej strony internetowej od zera. Nie martw się, jeśli będzie to trudne. Poprowadzę cię przez to na każdym kroku. i ożywić dzięki SQL? A może potrzebujesz statycznego generatora stron 7 powodów, by porzucić swój CMS i rozważ statyczny generator stron 7 Powodów, aby porzucić swój CMS i rozważenia statycznego generatora stron Przez wiele lat publikacja strony była trudna dla wielu użytkowników. CMS takie jak WordPress to zmieniły, ale wciąż mogą być mylące. Inną alternatywą jest statyczny generator stron. dla prostszego podejścia do tworzenia stron internetowych.
Cokolwiek zrobisz, daj nam znać w komentarzach poniżej!