Tworzenie i modyfikacja tabel w SQL

Tworzenie tabel w ms sql odbywa się poprzez wykonanie polecenia CREATE TABLE. Składnia polecenia:

CREATE TABLE
    table_name
    ( { < column_definition >
        | < table_constraint > } 
    ) 

< column_definition > - nazwa kolumny, typ danych, warunki dla kolumn, wartości default
< table_constraint > - są to klucze oraz warunki poprawności danych definiowane przez użytkownika.
Przykład tworzenie tabeli w ms sql.
CREATE TABLE t_nowa_tabela (
lp int primary key,
miesiac smalldatetime check (miesiac > '01-01-2010'),
region nvarchar(10) default ''
)
go
Wyżej wymieniony przykład pokazuje jak przy użyciu CREATE TABLE stworzyć tabele w ms sql, następnie definiujemy kolumny, ms sql obsługuje klika typów danych np. int, char(10), smalldatetime dokładny opis znajduje się w tabeli 3.
Jeśli chcesz uzyskać więcej informacji zachęcam do lektury MSDN Tworzenie autonumerowania w ms sql odbywa się poprzez dodanie IDENTITY(1,1)
CREATE TABLE t_test (
id int IDENTITY(1,1),
dane char(20)
)

Podczas tworzenie relacyjnych baz danych w ms sql istotne jest tworzenie kluczy podstawowych i obcyh celem stworzenie relacji Przykłady tworzenia Constraint w ms sql
CREATE TABLE Klienci 
(ID integer PRIMARY KEY, 
Last_Name varchar(30), 
First_Name varchar(30));
Klucz obcy w MS SQL tworzymy :
CREATE TABLE Zamowienia 
(zam_ID integer primary key, 
zam_Date datetime, 
klient_ID integer references Klienci(ID), 
kwota double(10,2));


Tworzenie kolumny z unikalnymi rekordami:
CREATE TABLE Customer 
(SID integer Unique, 
Last_Name varchar (30), 
First_Name varchar(30));

go

Jęśli checemy by kolumn nie przyjmowała wartości null używamy:
CREATE TABLE klienci
(ID integer NOT NULL, 
Last_Name varchar (30) NOT NULL, 
First_Name varchar(30));


Możemy również określi domyślną wartość w rekordzie oraz określić jakie wartości ma przyjmować dane pole w tabeli
CREATE TABLE t_test (
id int  not null,
id_I int defalut 0 )
data smalldatetime CHECK (data > getdate()) 
)

Możliwa jest również weryfikacja wprowadzonych wartości po przez użycie polecenia CHECK w t-sql. Brak możliwości tworzenie zapytać sprawdzających wartość. Czasami zdarza się że stworzymy tabele jednak okazuje się że przydała by się jeszcze jedna kolumna, co zrobić odpowiedź jest prosta:

Modyfikacja tabel w MS SQL

ALTER TABLE t_nowa_tabela ADD
wartości int

Polecenie ALTER pozwala na modyfikacje widoków, procedur, tabele itd. W tym przypadku dodajemy do tabeli t_nowa_tabela kolumnie wartosc typu int. Możemy również usunąć kolumne wtedy należy użyć polecenia DROP COLUMN
ALTER TABLE t_nowa_tabela DROP COLUMN wartosc

Ważne jest również by użyć indeksów jeśli chcemy by przeszukiwanie naszej tabeli odbywało się szybciej by tego dokonać należy użyć polecenie:
CREATE INDEX nazwa_indexu ON t_nowa_tabela (lp)

go

Tworzenie tabel czasowych w ms sql.

Podczas pracy z bazami danych bardzo często przydaje się tworzenie tabel czasowych, tabele czasowe mają krótką żywotność istnieją dopóki nie zostanie zamknięte połączenie z serqwerem SQL. Tabele czasową możemy rozpoznać po znacznikach ##t_nowa_tabela lub #t_nowa_tabela. Tworzymy ją w ten sam sposób co zwykłe tabele lub poprzez polecenie INTO( możemy je wykorzystać również wobec zwykłych tabeli).
SELECT
ilosc,
[DataZamowienia]
INTO ##tabelaczasowa
FROM
[sprzedarz]
WHERE
month([DataZamowienia]) = 1
Polecenie INTO w/w przypadku stworzy tabele czasową ##tabelaczasowa, która będzie zawierać wynik zapytania z lekcji 1. Możemy również użyć jednego "#" wtedy tak stworzona tabela będzie nasza prywatną i będzie widoczna tylko dla nas INTO pozwala na tworzenie "zwykłych" tabel nie tylko czasowych.
SELECT
SELECT
ilosc,
[DataZamowienia]
INTO tabela
FROM
[sprzedarz]
WHERE
month([DataZamowienia]) = 1

go




Tabela 3.
bigint liczba
decimal liczba
int liczka
numeric liczba
smallint liczba
money waluta
tinyint liczba
smallmoney liczba
bit liczba
float liczba
real liczba
char tekst
varchar tekst
text tekst
nvarchr tekst
ntext tekst
smalldatetime data czas
datetime data czas

SQL-KURSY.pl poleca:

Książki

Copyright 2010-2011mariuszhk@op.pl

obob ob

Valid HTML 4.01 Transitional

Strona internetowa wykorzystuje pliki cookie zapisywane w pamięci przeglądarki internetowej.

OK