
Owen Little
0
2882
757
Bazy danych napędzają nowoczesną sieć. Każda duża lub dynamiczna witryna internetowa korzysta z bazy danych w jakiś sposób i w połączeniu z nią Structured Query Language (SQL), możliwości manipulowania danymi są naprawdę nieograniczone. Jeśli znasz już SQL, sprawdź te umiejętności programowania. 7 Umiejętności programowania Wszyscy twórcy stron powinni wiedzieć 7 Umiejętności programowania Wszyscy twórcy stron powinni wiedzieć Projektowanie i rozwój witryn oferuje dobre wynagrodzenie i korzyści, przyzwoite godziny pracy i perspektywę rozwoju. Pokażemy Ci, jakich podstawowych umiejętności możesz się teraz nauczyć, aby dostać się do tej ekscytującej dziedziny. wszyscy programiści powinni wiedzieć.
Dzisiaj pokażę ci niektóre z podstawowych poleceń, które musisz znać jako programista.
Istnieje wiele nazw danych zwracanych z tabeli bazy danych. Dane są powszechnie nazywane Wydziwianie, Dokumentacja, lub Krotki. Będę używać tych terminów zamiennie w tym artykule.
Przedmowa
Wszystkie dzisiejsze przykłady będą oparte na czterech fikcyjnych tabelach. The klient tabela zawiera imię i wiek klientów:
The wysokości tabela zawiera imię i wysokość dowolnej osoby:
The personel tabela zawiera nazwisko i wiek członków personelu - dokładnie taka sama jak tabela klienta:
Ostatni stolik o nazwie ludzie zawiera imię i wiek osób, podobnie jak tabele klientów i pracowników:
1. Wybierz
The Wybierz instrukcja jest najprostsza i konieczne jest jej zrozumienie, ponieważ stanowi ona podstawę prawie wszystkich innych poleceń. Najlepszym rozwiązaniem jest pisanie zarezerwowanych słów SQL dużymi literami, ponieważ ułatwia to czytanie i zrozumienie polecenia.
Jak sama nazwa wskazuje, przyzwyczajamy się do select Wybierz dane z bazy danych. Oto najprostsze użycie:
WYBIERZ * Z tabeli;
Są to dwie części. Pierwsza część (WYBIERZ *) określa kolumny, które chcesz wybrać. Gwiazdka oznacza, że chcesz wybrać wszystkie kolumny w tabeli. Druga część (Z tabeli) informuje silnik bazy danych, z którego chcesz pobrać te dane. Zastąpić “stół” z nazwą tabeli bazy danych.
Ten wybór jest znany jako “wybierz gwiazdkę.” Używanie gwiazdki to dobry sposób, aby dowiedzieć się, jakie dane są w tabeli, ale nie polecam używać jej do żadnego kodu produkcyjnego. Gdy używasz wybranej gwiazdy, do silnika bazy danych należy przedstawienie potrzebnych danych. Nie masz żadnej kontroli nad kolejnością zwracania danych, więc jeśli ktoś doda nową kolumnę do tabeli, może się okazać, że twoje zmienne w języku programowania nie reprezentują już poprawnych danych. Na szczęście istnieje rozwiązanie.
Możesz jawnie określić, które kolumny chcesz pobrać, w następujący sposób:
WYBIERZ wiek, imię OD ludzi;
To zapytanie pobiera “wiek” i “Nazwa” kolumny z “ludzie” stół. Wyrażenie tego może być nieco uciążliwe, jeśli masz dużo danych, ale spowoduje to zmniejszenie problemów w przyszłości, a także ułatwi zrozumienie Twojego SQL przez przyszłych programistów.
Jeśli chcesz wybrać dodatkowy kawałek danych, ale nie jest on przechowywany w żadnej ze swoich tabel, możesz to zrobić w następujący sposób:
WYBIERZ wiek, „1234” OD ludzi;
Każdy ciąg w pojedynczych cudzysłowach zostanie zwrócony zamiast pasującego do nazwy kolumny.
2. Gdzie
Polecenie select doskonale nadaje się do pobierania danych, ale co jeśli chcesz filtrować wyniki nieco bardziej? A co z odzyskiwaniem tylko ludzi o niebieskich oczach? Co z ludźmi urodzonymi w styczniu, którzy pracują jako mechanicy? To gdzie gdzie pojawia się polecenie. Pozwala to zastosować warunki do zaznaczenia i po prostu dołączyć go na końcu instrukcji:
WYBIERZ wiek, imię OD osób, GDZIE wiek> 10;
To zapytanie jest teraz ograniczone do osób starszych niż 10 lat. Możesz łączyć wiele warunków za pomocą I operator:
WYBIERZ wiek, imię OD osoby, GDZIE wiek> 10 ORAZ wiek < 20;
The I polecenie działa dokładnie tak samo jak w języku angielskim: stosuje inny warunek do instrukcji. W tym przykładzie zwrócone dane będą dowolnymi rekordami w wieku od 10 do 20 lat. Ponieważ nie ma pasujących wyników, żadne dane nie są zwracane.
Kolejnym poleceniem, którego można użyć w połączeniu z tym, jest LUB. Oto przykład:
WYBIERZ wiek, imię OD osób, GDZIE wiek> 10 LUB imię = „Joe”;
To zapytanie zwraca rekordy, w których wiek jest większy niż 10 lub nazwa jest równa “Joe”. Zauważ, że istnieje tylko jeden znak równości? Większość języków programowania używa podwójnego znaku równości (==) do sprawdzenia równoważności. Nie jest to konieczne w przypadku większości silników baz danych (ale może być bardzo zależne od środowiska, dlatego najpierw sprawdź najpierw).
3. Zamówienie
The zamówienie polecenie służy do sortowania zwróconych wyników. Jest to kolejny łatwy w użyciu. Wystarczy dołączyć go na końcu oświadczenia:
WYBIERZ imię, wiek OD ludzi ZAMÓWIENIE WEDŁUG wieku DESC;
Musisz określić kolumnę i kolejność, która może być ASC dla rosnąco lub DESC do zejścia. Możesz zamówić według wielu kolumn, takich jak to:
WYBIERZ nazwisko, wiek OD OSÓB ZAMÓWIENIE według nazwiska ASC, wiek DESC
ZAMÓW PRZEZ jest chyba najbardziej przydatny w połączeniu z innymi poleceniami. Nie wszystkie zapytania zwrócą dane w sposób logiczny lub uporządkowany - to polecenie pozwala to zmienić.
4. Dołącz
The Przystąpić polecenie służy do Przystąpić powiązane dane przechowywane w jednej lub więcej tabelach. ty Przystąpić drugą tabelę do pierwszej tabeli i określ sposób połączenia danych. Oto podstawowy przykład:
WYBIERZ wiek, nazwisko, wzrost OD LEWEGO DOŁĄCZ wysokości WYKORZYSTANIE (imię i nazwisko);
Tutaj dzieje się kilka rzeczy. Musisz zacząć od “LEWE DOŁĄCZ” składnia, która określa, że chcesz dołączyć do tabeli za pomocą złączenia typu left. Następnie określ tabelę, do której chcesz dołączyć (wysokości). The USING (nazwa) Składnia stwierdza, że kolumna “Nazwa” można znaleźć w obu tabelach i że należy to wykorzystać jako klucz do połączenia tabel.
Nie martw się, jeśli kolumny mają różne nazwy w każdej tabeli. Możesz użyć “NA” zamiast “ZA POMOCĄ”:
WYBIERZ wiek, imię, wzrost OD LEWEGO DOŁĄCZ wysokości (ON) (namea = nameb);
Instrukcja on wyraźnie określa, w których kolumnach wprowadzić klucz. Istnieje wiele rodzajów łączenia, a szczegółowe omówienie każdego z nich zajęłoby dużo czasu, dlatego oto krótkie podsumowanie ich wykorzystania:
- (WEWNĘTRZNY) DOŁĄCZ - Zwraca wiersze z dopasowaniem w obu tabelach.
- DOŁĄCZ DO LEWEGO (ZEWNĘTRZNEGO) - Zwraca wszystkie wiersze z lewej tabeli, z dowolnymi dopasowaniami z prawej tabeli. Jeśli nie ma żadnych dopasowań, rekordy lewej tabeli są nadal zwracane.
- DOŁĄCZ DO PRAWEJ (ZEWNĘTRZNEJ) - Jest to przeciwieństwo lewego łączenia: zwracane są wszystkie wiersze z prawej tabeli, wraz z wszelkimi dopasowaniami z lewej tabeli.
- DOŁĄCZ DO PEŁNEJ (ZEWNĘTRZNEJ) - Zwraca wszelkie rekordy z dopasowaniem w dowolnej tabeli.
The “WEWNĘTRZNY” lub “ZEWNĘTRZNY” składnia jest opcjonalna. Może to ułatwić zrozumienie, ale nie musisz tego określać przez większość czasu.
5. Alias
Teraz znasz podstawy, spójrzmy na Alias dowództwo. Służy to do tymczasowej zmiany nazwy tabeli - bardziej pseudonim niż cokolwiek innego, ponieważ ta nowa nazwa istnieje tylko w ramach pojedynczej transakcji, którą prowadzisz. Oto jak z niego korzystasz:
WYBIERZ A.aż Z osób A;
Możesz użyć dowolnej poprawnej nazwy, którą lubisz, ale ja lubię używać liter alfabetu. Przed nazwą każdej kolumny alias jest poprzedzony. Ten alias jest przypisywany do tabeli natychmiast po jej zadeklarowaniu. Jest to dokładnie to samo co robienie tego:
WYBIERZ people.age OD ludzi;
Zamiast wpisywać długą nazwę tabeli, możesz wpisać prostą i łatwą do zapamiętania literę - ale o co chodzi? Cóż, jeśli wybierasz z więcej niż jednej tabeli, łatwo się pomylić, które kolumny należą do której tabeli. Jeśli obie tabele mają kolumny o tej samej nazwie, zapytanie bazy danych może nawet nie zostać uruchomione bez wyraźnego odwołania się do nazwy tabeli lub aliasu. Oto przykład z dwiema tabelami:
WYBIERZ personel. Wiek, nazwa personelu, wiek klientów, klienci.nazwa pracowników, klientów;
A oto to samo zapytanie z aliasami:
WYBIERZ A.age, A. name, B.age, B. name Z personelu A, klientów B;
Tabela pracowników ma alias “ZA”, a tabela klientów otrzymuje alias “b”. Tabele aliasingu naprawdę ułatwiają zrozumienie kodu i zmniejszają liczbę operacji pisania.
Możesz także zmienić nazwę kolumny z aliasem, używając “TAK JAK” dowództwo:
WYBIERZ wiek JAKO person_age OD ludzi;
Po uruchomieniu tego zapytania kolumna zostanie teraz wywołana “osobistość” zamiast “wiek”.
6. Unia
Unia to świetne polecenie. Umożliwia dołączanie do siebie wierszy. W przeciwieństwie do złączeń, które dołączają pasujące kolumny, unia może dołączyć niepowiązane wiersze, pod warunkiem, że mają taką samą liczbę i nazwę kolumn. Oto jak z niego korzystasz:
WYBIERZ wiek, imię OD klientów UNION WYBIERZ wiek, imię OD pracowników;
Możesz myśleć o związku jako o sposobie łączenia wyników dwóch zapytań. Związek zwróci wyniki tylko wtedy, gdy między dwoma zapytaniami jest unikalny wiersz. Możesz użyć “UNION ALL” składnia zwracająca wszystkie dane, niezależnie od duplikatów:
WYBIERZ wiek, nazwisko OD klientów UNION WSZYSTKO WYBIERZ wiek, nazwisko OD pracowników;
Zauważ, jak zmienia się kolejność wierszy? Unia działa w najbardziej efektywny sposób, więc zwracane dane mogą się różnić w kolejności.
Możliwym przypadkiem użycia dla sumy jest suma częściowa: można połączyć kwerendę sumy całkowitej z kwerendą poszczególnych sum dla określonego scenariusza.
7. Wstaw
Wiesz już wszystko na temat pobierania danych z bazy danych, ale co z ich wstawieniem? To gdzie wstawić pojawia się polecenie. Oto przykład:
WSTAWIĆ DO ludzi (imię, wiek) WARTOŚCI („Joe”, 102);
Musisz podać nazwę tabeli (osoby) i kolumny, których chcesz użyć (imię i wiek). The “WARTOŚCI” następnie używa się składni, aby podać wartości do wstawienia. Muszą być w tej samej kolejności co kolumny, które zostały wcześniej określone.
Nie można określić klauzuli where dla wstawek i należy upewnić się, że przestrzegane są wszelkie niezbędne ograniczenia tabeli.
8. Aktualizacja
Po wstawieniu niektórych danych zmiana naturalnych wierszy jest rzeczą naturalną. Tutaj jest aktualizacja składnia polecenia:
UPDATE people SET name = 'Joe', age = 101;
Musisz określić tabelę, którą chcesz zmienić, a następnie użyj “ZESTAW” składnia, aby określić kolumny i ich nowe wartości. Ten przykład jest dobry, ale zaktualizuje każdy pojedynczy rekord - coś, co nie zawsze jest pożądane!
Aby być bardziej szczegółowym, możesz użyć “GDZIE” klauzule, podobnie jak podczas zaznaczania:
UPDATE people SET name = 'Joe', age = 101 WHERE name = 'James';
Możesz nawet określić wiele warunków za pomocą “I” i “LUB”:
UPDATE people SET name = 'Joe', age = 101 WHERE (name = 'James' AND AND = 100) OR name = 'Ryan';
Zwróć uwagę, w jaki sposób nawiasy są używane do ograniczenia warunków.
9. Upsert
Upsert jest dziwnie brzmiącym słowem, ale jest niezwykle przydatnym poleceniem. Załóżmy, że masz ograniczenia w tabeli i określiłeś, że zawsze chcesz rekordów o unikalnych nazwach - na przykład nie chcesz przechowywać dwóch wierszy o tej samej nazwie. Jeśli spróbujesz wstawić wiele wartości „Joe”, Twój silnik bazy danych zgłosi błąd i odmówi (całkiem słusznie). UPSERT pozwala zaktualizować rekord, jeśli już istnieje. Jest to niezwykle przydatne! Bez tego polecenia musisz napisać dużo logiki, aby najpierw sprawdzić, czy rekord istnieje, wstaw go, jeśli nie istnieje, w przeciwnym razie pobierz poprawny klucz podstawowy, a następnie zaktualizuj.
Niestety, upserts są implementowane inaczej w różnych silnikach baz danych. PostgreSQL dopiero niedawno zyskał tę umiejętność, a MySQL ma ją już od dłuższego czasu. Oto składnia MySQL w celach informacyjnych:
WSTAWIĆ DO ludzi (imię, wiek) WARTOŚCI („Joe”, 101) PRZY DUPLIKACIE KLUCZOWEJ AKTUALIZACJI wiek = 101;
Zauważ, że jest to zasadniczo aktualizacja i instrukcja wstawiania, którą można podsumować jako “aktualizuj, jeśli wstawianie nie powiodło się.”
10. Usuń
Kasować służy do całkowitego usunięcia zapisów - może być bardzo szkodliwe, jeśli zostanie wykorzystany! Podstawowa składnia jest bardzo łatwa w użyciu:
USUŃ OD ludzi;
Podobnie jak większość innych poleceń, spowoduje to usunięcie wszystko! Musisz użyć gdzie, aby ograniczyć go do nieco bardziej rozsądnej liczby wierszy - najlepiej jeden:
USUŃ OD ludzi GDZIE nazwa = „Joe”;
Jeśli opracowujesz system, często rozsądnie jest wdrożyć system “miękkie usuwanie.” W rzeczywistości nigdy nie uruchamiasz polecenia usuwania, raczej tworzysz usuniętą kolumnę, a następnie sprawdzasz tę kolumnę w swoich zaznaczeniach - może to uniknąć potencjalnego zawstydzenia, jeśli możesz szybko i łatwo odzyskać rzekomo usunięte rekordy. Nie zastępuje to jednak prawidłowego tworzenia kopii zapasowych.
11. Utwórz tabelę
The stworzyć tabelę polecenie służy do tworzenia tabel. To kolejny bardzo prosty:
UTWÓRZ osoby w TABELI (nazwisko TEKST, wiek, INTEGER, KLUCZ PODSTAWOWY (imię));
Zauważ, że nazwy kolumn i ograniczenia znajdują się w nawiasach, a kolumny otrzymują odpowiedni typ danych. Określono klucz podstawowy, wymagany w każdym dobrym projekcie bazy danych.
12. Zmień stół
The zmienić stół polecenie służy do modyfikowania struktury tabeli. Jest to nieco ograniczone, ponieważ baza danych nie pozwala na zmianę tabeli, jeśli istniejące dane spowodowałyby konflikt - na przykład zmieniając ciąg znaków na liczbę całkowitą. W takich przypadkach najpierw popraw dane, a następnie zmodyfikuj tabelę. Oto przykład:
ZMIEŃ TABELĘ osób DODAJ całkowitą wysokość;
W tym przykładzie dodano kolumnę o nazwie “wysokość” typu liczba całkowita do tabeli osób. Tak naprawdę nie ma ograniczenia co możesz zmienić.
13. Drop Table
Ostateczne polecenie to upuść stół. Pomyśl o tym jak o usunięciu, ale zamiast usuwania pojedynczego rekordu, usuwa on każdy rekord wraz ze stołem! Oto jak z niego korzystasz:
DROP TABLE ludzie;
Jest to dość drastyczne polecenie i nie ma powodu, aby programować go w systemie. Powinien być wykonywany ręcznie tylko w zdecydowanej większości przypadków i może być bardzo destrukcyjny.
To wszystko na dzisiaj. Mam nadzieję, że nauczyłeś się kilku użytecznych sztuczek! Możesz dowiedzieć się, jak zrobić 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. , a następnie wykorzystaj swoje nowo odkryte umiejętności, aby uczynić go dynamicznym - po prostu upewnij się, że nie popełniasz tych błędów 9 błędów, których nie należy popełniać podczas tworzenia strony internetowej 9 błędów, których nie należy popełnić, tworząc stronę internetową Poniższe kodowanie HTML pomyłki są łatwe do popełnienia, ale jeśli usuniesz je wcześniej niż później, Twoja strona będzie wyglądać lepiej, będzie łatwiejsza w utrzymaniu i będzie funkcjonować tak, jak chcesz. lub pozostawić podatne na 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…. Jeśli nie jesteś pewien, czy musisz nauczyć się języka SQL, czy zastanawiałeś się nad statycznym generatorem strony 7 powodów, dla których porzucisz swój CMS i rozważ statyczny generator strony 7 powodów, by porzucić swój CMS i rozważ statyczny generator stron Przez wiele lat publikowanie strony internetowej było trudne dla wielu użytkowników. CMS takie jak WordPress to zmieniły, ale wciąż mogą być mylące. Inną alternatywą jest statyczny generator stron. ?
Dodaj komentarz poniżej ze swoimi ulubionymi wskazówkami i sztuczkami SQL?
Kredyty obrazkowe: HYS_NP / Shutterstock