Tabele w SQL Server

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.

Kurs Transact-SQL - Tabele w SQL Server
Kurs Transact-SQL – Tabele w SQL Server

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.

Kurs Transact-SQL - CREATE TABLE w T-SQL
Kurs Transact-SQL – CREATE TABLE w T-SQL

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.

Kurs Transact-SQL - Tworzenie tabeli na podstawie wyniku zapytania SELECT
Kurs SQL Server – Tworzenie tabeli na podstawie wyniku zapytania SELECT

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!

Kurs SQL Server - Tabele. Tworzenie tabel
Kurs SQL Server – Tabele. Tworzenie tabel

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;

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *