Marcin Lis postgresql 8.3. ćwiczenia full, ebooki

[ Pobierz całość w formacie PDF ]
4
P o s t g r e S Q L 8 . 3 • & w i c z e n i a
Rozdzia# 5.
Podstawowe instrukcje SQL
105
Wprowadzanie danych
105
Pobieranie danych
112
Modyfikacja danych
130
Usuwanie danych
133
Rozdzia# 6.
Z#o'one instrukcje SQL
137
Z$#czenia i unie
137
Grupowanie i agregacja danych
153
Rozdzia# 7.
Podzapytania, transakcje i wi"zy integralno!ci
165
Podzapytania
165
Transakcje
176
Wi(zy integralno)ci
182
5
Podstawowe instrukcje SQL
Wprowadzanie danych
Instrukcja INSERT INTO
Tabele, których najró"niejsze sposoby tworzenia i modyfikacji pozna-
li#my w rozdziale 4., trzeba w jaki# sposób wype$ni% danymi. S$u"y do
tego instrukcja
INSERT INTO
, któr& poznamy na kolejnych stronach tego
rozdzia$u. Jej podstawowa forma ma ogóln& posta%:
INSERT [INTO]
nazwa_tabeli
[(
kolumna1
,
kolumna2
, ...,
kolumnaN
)]
VALUES (
warto+,1
,
warto+,2
, ...,
warto+,N
)
Powoduje ona wprowadzenie do tabeli nowego wiersza, w którym
w polu
kolumna1
zosta$a zapisana warto#%
warto+,1
, w polu
kolumna2
—
warto#%
warto+,2
itd. Elementy instrukcji uj(te w nawias kwadratowy
s& opcjonalne.
Przygotujmy wi(c przyk$adow& tabel(, która pos$u"y do wykonywania
kolejnych %wicze). Niech b(dzie to tabela
osoby
utworzona za pomoc&
instrukcji:
CREATE TABLE osoby
(
id INTEGER PRIMARY KEY NOT NULL,
imie VARCHAR(20) NOT NULL,
nazwisko VARCHAR(30) NOT NULL,
pesel CHAR(11)
);
1 0 6
P o s t g r e S Q L 8 . 3 • & w i c z e n i a
W I C Z E N I E
5.1
Wprowadzenie wiersza do tabeli
Wprowad* do tabeli
osoby
przyk$adowy wiersz danych.
Zak$adaj&c, "e nowy wiersz ma zawiera% dane Jana Kowalskiego posia-
daj&cego PESEL 01234567890, któremu zosta$ nadany identyfikator
1
,
nale"y u"y% instrukcji
INSERT INTO
w postaci:
INSERT INTO osoby (id, imie, nazwisko, pesel) VALUES (1, 'Jan',
'Kowalski', '01234567890');
W celu zwi(kszenia czytelno#ci mo"na j& rozbi% na kilka wierszy (rysu-
nek 5.1), np.:
INSERT INTO osoby
(id, imie, nazwisko, pesel)
VALUES
(1, 'Jan', 'Kowalski', '01234567890');
Efekt wykonania zapytania jest widoczny na rysunku 5.1.
Rysunek 5.1.
Wykonanie
zapytania
wprowadzaj(cego
dane do tabeli
osoby
Zwró%my przy tym uwag(, "e wszystkie wprowadzone ci&gi znaków
zosta$y uj(te w apostrofy. Jest to niezb(dne, aby zapytanie zosta$o wyko-
nane prawid$owo. Nie ma natomiast potrzeby ujmowania w znaki apo-
strofu warto#ci liczbowych.
Je#li jednak wprowadzamy warto#ci wszystkich pól, to nazwy kolumn
w instrukcji
INSERT
s& tak naprawd( opcjonalne i mo"na je pomin&%.
Kolejno#% danych powinna by% wtedy taka jak kolejno#% kolumn w de-
finicji tabeli. Sprawd*my to w praktyce.
W I C Z E N I E
5.2
Wprowadzenie danych z pomini:ciem nazw kolumn
Wprowad* do tabeli
osoby
przyk$adowy wiersz bez u"ywania nazw
kolumn.
1 0 7
R o z d z i a ' 5 . • P o d s t a w o w e i n s t r u k c j e S Q L
Wykonanie %wiczenia zapewni nam instrukcja:
INSERT INTO osoby VALUES (2, 'Adam', 'Nowak', '12345678901');
Nie ma jednak konieczno#ci ka"dorazowego wprowadzania danych do
wszystkich kolumn. Cz(#% z nich mo"e zosta% pomini(ta, pod warun-
kiem oczywi#cie "e nie maj& one przypisanego atrybutu
NOT NULL
.
W I C Z E N I E
5.3
Pomini:cie danych dla wybranych kolumn
Wprowad* do tabeli
osoby
wiersz zawieraj&cy jedynie dane o identyfi-
katorze, imieniu oraz nazwisku.
Operacj( wprowadzenia do tabeli
osoby
wiersza bez danych dla kolumny
pesel
mo"na przeprowadzi% na dwa sposoby. Pierwszy z nich to in-
strukcja:
INSERT INTO osoby VALUES (3, 'Janusz', 'Nowak', NULL);
W takim przypadku w kolumnie
pesel
jawnie wstawiamy warto#% pust&
NULL
. Drug& mo"liwo#% stanowi instrukcja:
INSERT INTO osoby (id, imie, nazwisko) VALUES (3, 'Janusz', 'Nowak');
W tym przypadku niezb(dne jest u"ycie nazw kolumn.
Taka operacja jak w %wiczeniu 5.3 nie by$aby jednak mo"liwa w przy-
padku kolumny
imie
b&d*
nazwisko
, gdy" maj& one atrybut
NOT NULL
,
czyli nie mog& by% puste. Sprawd*my, czy tak jest faktycznie.
W I C Z E N I E
5.4
Pomini:cie danych dla kolumny z atrybutem NOT NULL
Wykonaj prób( wprowadzenia do tabeli
osoby
wiersza niezawieraj&cego
danych o imieniu.
Pomini(cie danych o imieniu zapewni przyk$adowa instrukcja w po-
staci:
INSERT INTO osoby (id, nazwisko, pesel)
VALUES (4, 'Nowak', '89012345678');
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • mement.xlx.pl
  •