Tabele MsSQL – podstawy
Tabele są podstawowymi obiektami baz danych. To właśnie w nich przechowywane są dane i przede wszystkim na nich będą bazowały nasze skrypty. Tabela składa się ze struktury oraz danych w niej zawartych. Struktura to przede wszystkim nazwa tabeli, zestaw kolumn o unikalnych nazwach i określonym typie danych. Same tabele możemy przeglądać w narzędziu SSMS po rozwinięciu drzewa serwera oraz wybranej bazy danych.
CREATE TABLE – Tworzenie prostej tabeli za pomocą skryptu
By stworzyć najprostszą tabelę w bazie danych potrzebujemy podać jej nazwę, nazwy jej kolumn oraz określić typy danych dla kolumn. Samo utworzenie tabeli rozpoczynamy poleceniem CREATE TABLE. Następnie w nawiasie nazywamy kolumny i definiujemy ich typy danych. Więcej o samych typach danych przeczytasz w tej części kursu: typy danych T-SQL. Warto wiedzieć, że tabele przechowują dane w formie fizycznej w odróżnieniu od prostych widoków. Schemat tworzenia prostej tabeli zamieszczam poniżej:
--tomaszkenig.pl
CREATE TABLE NAZWA_TABELI
(KOLUMNA_1 TYP_DANYCH,
KOLUMNA_2 TYP_DANYCH,
...
);
Przykład tworzenia prostej tabeli w sql server:
--tomaszkenig.pl
use test;
create table PRACOWNICY
(ID INT,
IMIE VARCHAR(255),
NAZWISKO VARCHAR(255),
WIEK INT,
DATA_URODZENIA DATETIME
);
W ten sposób stworzyliśmy pustą tabelę. Możesz się już do niej odwołać np za pomocą polecenia SELECT. Możesz także wprowadzać do niej swoje dane przy użyciu polecenia INSERT.
Tworzenie tabeli na podstawie wyniku zapytania SELECT w MsSQL
Kolejną metodą na tworzenie tabel jest stworzenie tabeli na podstawie wyniku zapytania SELECT. Przykładowo: posiadamy zapytanie, którego wynik chcemy zapisać w formie tabeli. W tym celu stosujemy polecenie INTO, które wklejamy przed klauzulą FROM. Sama konstrukcja wygląda następująco:
--tomaszkenig.pl
SELECT KOLUMNA_1
,KOLUMNA_2
INTO NAZWA_NOWEJ_TABELI
from NAZWA_ISTNIEJACEJ_TABELI
where NASZE_WARUNKI;
Dla przykładu:
--tomaszkenig.pl
SELECT distinct ProductSubcategoryID
,color INTO TABELA_Z_WYNIKU_SQL
from production.Product
where color = 'Black'
and (ProductSubcategoryID = 14 or ProductSubcategoryID = 12)
;
Tabela stworzona w ten sposób zawiera już dane. Typy danych w kolumnach nowej tabeli odpowiadają typom danych z tabeli, na której wykonaliśmy nasze zapytanie.
Tworzenie tabeli poprzez wyklikanie jej w SSMS
W narzędziu SQL Server Management Studio (SSMS) możesz utworzyć tabelę także poprzez jej wyklikanie. Warto wiedzieć, że można to zrobić w ten sposób. Przejdź do dowolnej bazy, np bazy „test”, którą wcześniej utworzyłeś. Rozwiń drzewo obiektów. Następnie w opcjach Tables wybierz New oraz Table. W oknie, które się wyświetli możesz już wprowadzać nazwy kolumn tabel oraz ich typy danych. Po zdefiniowaniu wszystkich kolumn kliknij prawym przyciskiem myszy w górną zakładkę okna i wybierz opcję Save. Przy okazji zostaniesz też zapytany o proponowaną nazwę tabeli. Gotowe!
ALTER TABLE – Zmiany w istniejących tabelach – kolumny, typy danych
By zmienić naszą tabelę np poprzez dodanie, bądź usunięcie kolumn lub też zmianę typów danych dla kolumn stosujemy polecenie ALTER TABLE. Nową kolumnę do istniejącej tabeli dodajemy poprzez użycie polecenia ADD, w którym definiujemy nazwę nowej kolumny oraz jej typ danych.
--tomaszkenig.pl
use test;
alter table PRACOWNICY
add MIASTO VARCHAR(255);
W podobny sposób możemy usunąć dowolną kolumnę z naszej tabeli. Modyfikujemy nasze zapytanie stosując polecenie DROP COLUMN:
--tomaszkenig.pl
use test;
alter table PRACOWNICY
drop column MIASTO ;
Do zmiany typu danych w kolumnach naszej tabeli wykorzytujemy polecenie ALTER COLUMN. Stosując to polecenie, musimy pamiętać, by dane w naszych kolumnach były odpowiednio skonwertowane i dopasowane do nowego typu, który chcemy zastosować. Typ pierwotny kolumny musi być konwertowalny. Dane zawarte w kolumnie także.
--tomaszkenig.pl
use test;
alter table PRZYKLADOWA_TABELA
alter column wiek bigint;
SP_RENAME – Zmiana nazwy tabeli lub kolumny
Zmianę nazwy kolumny w naszej tabeli dokonujemy za pomocą polecenia SP_RENAME. Polecenie może nam także posłużyć do zmiany nazwy całej tabeli:
--tomaszkenig.pl
use test;
sp_rename STARA_NAZWA_TABELI , NOWA_NAZWA_TABELI; --zmienia nazwę całej tabeli
sp_rename 'NAZWA_TABELI.STARA_NAZWA_KOLUMNY' , 'NOWA_NAZWA_KOLUMNY', 'COLUMN'; --zmienia nazwę wybranej kolumny
DROP TABLE – Kasowanie tabel w MsSQL
Na koniec możemy usunąć tabelę z bazy danych stosując polecenie DROP TABLE. W ten sposób tabela oraz dane w niej zawarte zostaną usunięte.
--tomaszkenig.pl
DROP TABLE PRZYKLADOWA_TABELA;

Podsumowanie – Tabele w SQL Server
Jak widzisz metod tworzenia i modyfikacji tabel w SQL Server jest wiele. Większość zadań pokazanych w powyższych przykładach możesz też po prostu wyklikać w drzewie obiektów.
Całość kursu SQL Server wraz z przykłądami znajdziesz pod tym adresem: Kurs SQL Server.
Źródło: Microsoft