W tym artykule wyjaśniono, w jaki sposób możesz dodać nową kolumnę do istniejącej tabeli przesunięcia ku czerwieni bez zakłócania czegokolwiek innego w strukturze bazy danych. Zakładamy, że przed przejściem przez ten artykuł masz wiedzę o konfiguracji klastra Redshift.
Krótkie podsumowanie poleceń SQL
Przejrzyjmy krótko podstawowe pięć rodzajów poleceń SQL, aby dowiedzieć się, który typ polecenia będziemy musieli dodać nową kolumnę do tabeli.
Z poprzedniej dyskusji jasne jest, że będziemy potrzebować polecenia DDL ZMIENIAĆ Aby dodać nową kolumnę do istniejącej tabeli.
Właściciel przewodów
Jak zapewne wiesz, każda baza danych ma swoich użytkowników i inny zestaw uprawnień. Więc zanim spróbuje edytować tabelę, użytkownik musi posiadać tę tabelę w bazie danych. W przeciwnym razie nie otrzymasz pozwolenia na zmianę. W takich przypadkach musisz pozwolić użytkownikowi na wykonywanie określonych operacji w tabeli poprzez zmianę właściciela tabeli. Możesz wybrać istniejącego użytkownika lub utworzyć nowego użytkownika w swojej bazie danych, a następnie uruchomić następujące polecenie:
Zmień tabelę
właściciel < new user>W ten sposób możesz zmienić właściciela tabeli za pomocą polecenia alter. Teraz zobaczymy, jak dodać nową kolumnę do naszej istniejącej tabeli bazy danych.
Dodanie kolumny w tabeli przesunięcia ku czerwieni
Załóżmy, że prowadziłeś małą firmę informacyjną z różnymi działami i opracowałeś osobne tabele bazy danych dla każdego działu. Wszystkie dane pracownicze dla zespołu HR są przechowywane w tabeli o nazwie HR_Team, posiadające trzy kolumny o nazwie Serial_Number, Nazwa i Date_OF_Joining. Szczegóły tabeli można zobaczyć na poniższym zrzucie ekranu:
Wszystko idzie dobrze. Ale z czasem zdałeś sobie sprawę, aby jeszcze bardziej ułatwić swoje życie, dodając pensje pracowników w bazie danych, którym wcześniej zarządzałeś za pomocą prostych arkuszy kalkulacyjnych. Więc chcesz wypełnić inną kolumnę w każdej tabeli działów o nazwie pensja.
Zadanie można po prostu wykonać za pomocą następującego polecenia Tabela Alter:
Zmień tabelę
dodaćNastępnie potrzebujesz następujących atrybutów do wykonania poprzedniego zapytania w klastrze Redshift:
- Nazwa tabeli: Nazwa tabeli, w której chcesz dodać nową kolumnę
- Nazwa kolumny: Nazwa nowej kolumny, którą dodajesz
- Typ danych: Zdefiniuj typ danych nowej kolumny
Teraz dodamy nazwaną kolumnę wynagrodzenie z typem danych int do naszego istniejącego stołu HR_Team.
Tak więc poprzednie zapytanie dodało nową kolumnę do istniejącej tabeli przesunięcia ku czerwieni. Typ danych dla tej kolumny jest liczbą całkowitą, a wartość domyślna jest ustawiona na NULL. Teraz możesz dodać rzeczywiste żądane dane w tej kolumnie.
Dodawanie kolumny z określoną długością ciągów
Weźmy kolejny przypadek, w którym możesz również zdefiniować długość ciągów po typie dla nowej kolumny, którą dodamy. Składnia będzie taka sama, z wyjątkiem tego, że istnieje tylko dodanie jednego atrybutu.
Zmień tabelę
dodać<(Length)> Na przykład chcesz zadzwonić do każdego członka zespołu z krótkim pseudonimem zamiast ich pełnego nazwiska i chcesz, aby pseudonimy składały się z maksymalnie pięciu znaków.
W tym celu będziesz musiał ograniczyć ludzi do wykroczenia poza pewną długość dla pseudonimów.
Następnie dodaje się nową kolumnę i ustaliliśmy limit varchar, aby nie mogła wziąć więcej niż pięć znaków.
Teraz, jeśli ktoś spróbuje dodać jego pseudonim dłużej, niż się spodziewamy, baza danych nie pozwoli na tę operację i zgłosi błąd.
Ale jeśli wprowadzimy wszystkie pseudonimy z pięcioma lub mniejszymi znakami, operacja odniesie sukces.
Korzystając z poprzedniego zapytania, możesz dodać nową kolumnę i umieścić limit długości ciągu w tabeli przesunięcia ku czerwieni.
Dodanie kolumny klucza obcego
Klucze zagraniczne służą do odniesienia danych z jednej kolumny do drugiej. Weź pod uwagę, że ludzie w swojej organizacji pracują w więcej niż jednym zespole, i chcesz śledzić hierarchię swojej organizacji. Zróbmy Web_Team I dev_team Dzielenie się tymi samymi ludźmi i chcemy odwoływać się do nich za pomocą klawiszy zagranicznych. dev_team po prostu ma dwie kolumny, które są dowód pracownika I nazwa.
Teraz chcemy utworzyć kolumnę o nazwie dowód pracownika w Web_Team tabela. Dodanie nowej kolumny jest takie samo, jak omówione powyżej.
Następnie ustawimy nowo dodaną kolumnę jako klucz obcy, odwołując się do kolumny dowód pracownika obecny w dev_team tabela. Potrzebujesz następującego polecenia, aby ustawić klucz obcy:
Alter Table Organization.Web_Team
Dodaj obcy klucz
() Bibliografia ( ); W ten sposób możesz dodać nową kolumnę i ustawić ją jako klawisz obcy w bazie danych.
Wniosek
Widzieliśmy, jak wprowadzić zmiany w naszych tabelach bazy danych, takie jak dodanie kolumny, usuwanie kolumny i zmiana nazwy kolumny. Te działania w tabeli przesunięcia ku czerwieni można wykonać po prostu za pomocą poleceń SQL. Możesz zmienić swój klucz podstawowy lub ustawić inny klucz obcy, jeśli chcesz.