background image

1

1

Modyfikacja danych

Modyfikacja danych

(

(

insert, update, delete, 

insert, update, delete, 

truncate)

truncate)

Prezentacja do ćwiczenia 10

Prezentacja do ćwiczenia 10

Materiały wykorzystane w przykładach:

Materiały wykorzystane w przykładach:

Materiały pomocnicze  do ćwiczeń laboratoryjnych\Ćwiczenie 10

Materiały pomocnicze  do ćwiczeń laboratoryjnych\Ćwiczenie 10

background image

2

2

Zakres pracy 

Zakres pracy 

Prezentacja ma na celu przedstawienie pełnej składni instrukcji 

Prezentacja ma na celu przedstawienie pełnej składni instrukcji 

SELECT. Objaśnione również zostaną instrukcje pozwalające na 

SELECT. Objaśnione również zostaną instrukcje pozwalające na 

modyfikację danych zawartych w bazie. 

modyfikację danych zawartych w bazie. 

background image

3

3

INSERT

INSERT

Instrukcja INSERT zapisuje wiersz w tabeli.

Instrukcja INSERT zapisuje wiersz w tabeli.

Składnia instrukcji INSERT:

Składnia instrukcji INSERT:

INSERT INTO tablica (kolumna1, kolumna2, ...) 

INSERT INTO tablica (kolumna1, kolumna2, ...) 

VALUES (‘wartosc1’, ‘wartosc2’...);

VALUES (‘wartosc1’, ‘wartosc2’...);

Przykład 1:

Przykład 1:

INSERT INTO pojazdy

INSERT INTO pojazdy

(marka,model,typ,rok_prod,pojemnosc,przebieg,nr_nadwozia)

(marka,model,typ,rok_prod,pojemnosc,przebieg,nr_nadwozia)

VALUES('Aprilia','RS-50‘,’m’,'2004','350','1267','D77Xc45');

VALUES('Aprilia','RS-50‘,’m’,'2004','350','1267','D77Xc45');

Komunikat „1 row(s) affected” informuje nas o pomyślnym 
umieszczeniu informacji w bazie danych (Rysunek 1).

Rysunek 1

background image

4

4

INSERT INTO… SELECT FROM

INSERT INTO… SELECT FROM

Zapytanie SQL pobierające dane może być także częścią innego 

Zapytanie SQL pobierające dane może być także częścią innego 

zapytania które umieszcza dane w tabeli:

zapytania które umieszcza dane w tabeli:

Przykład 2:

Przykład 2:

INSERT INTO pojazdy 

INSERT INTO pojazdy 

(marka,model,typ,rok_prod,pojemnosc,przebieg,nr_nadwozia) 

(marka,model,typ,rok_prod,pojemnosc,przebieg,nr_nadwozia) 

SELECT 

SELECT 

marka,model,typ,rok_prod,pojemnosc,przebieg,nr_nadwozia 

marka,model,typ,rok_prod,pojemnosc,przebieg,nr_nadwozia 

FROM pojazdy

FROM pojazdy

WHERE id_pojazdy=1;

WHERE id_pojazdy=1;

Wynik zapytania można podejrzeć wyświetlając tabele „quad”.

Wynik zapytania można podejrzeć wyświetlając tabele „quad”.

background image

5

5

SELECT INTO

SELECT INTO

Pobierane dane można umieścić w innej tabeli, aby to wykonać należy 

Pobierane dane można umieścić w innej tabeli, aby to wykonać należy 

zastosować instrukcję SELECT INTO. 

zastosować instrukcję SELECT INTO. 

Przykład 3:

Przykład 3:

SELECT 

SELECT 

DISTINCT

DISTINCT

 marka

 marka

INTO tymcz

INTO tymcz

asowa

asowa

 

 

FROM 

FROM 

pojazdy

pojazdy

 ;

 ;

Powyższe zapytanie tworzy tabelę tymczasową ze słownikiem marek 

Powyższe zapytanie tworzy tabelę tymczasową ze słownikiem marek 

wszystkich pojazdów dostępnych w wypożyczalni (Rysunek 2).

wszystkich pojazdów dostępnych w wypożyczalni (Rysunek 2).

Uwaga:

Uwaga:

Pobierane kolumny muszą mieć zgodne typy z kolumnami docelowymi.

Pobierane kolumny muszą mieć zgodne typy z kolumnami docelowymi.

Rysunek 2

background image

6

6

Instrukcja UPDATE zmienia pola w wierszu tabeli (aktualizuje je).

Instrukcja UPDATE zmienia pola w wierszu tabeli (aktualizuje je).

Składnia instrukcji UPDATE:

Składnia instrukcji UPDATE:

UPDATE tablica

UPDATE tablica

SET nazwa kolumny = wyrażenie

SET nazwa kolumny = wyrażenie

WHERE warunek;

WHERE warunek;

Przykład 3:

Przykład 3:

UPDATE  pojazdy 

UPDATE  pojazdy 

SET marka = 'YAMAHA‘

SET marka = 'YAMAHA‘

WHERE id_pojazdy = 2;

WHERE id_pojazdy = 2;

UPDATE

UPDATE

Zapytanie aktualizuje wiersze o id_pojazdy równym 2,
ustawia markę pojazdu na YAMAHA.

Sprawdź wynik wyświetlając odpowiednia tablice.

background image

7

7

DELETE

DELETE

Instrukcja DELETE usuwa wiersz lub wiersze z tabeli

Instrukcja DELETE usuwa wiersz lub wiersze z tabeli

Składnia instrukcji DELETE:

Składnia instrukcji DELETE:

DELETE FROM tabela 

DELETE FROM tabela 

{WHERE( warunek );}

{WHERE( warunek );}

Instrukcja (warunek) WHERE jest instrukcją opcjonalną, bez niej 

Instrukcja (warunek) WHERE jest instrukcją opcjonalną, bez niej 

usuwane są wszystkie wiersze z tabeli.

usuwane są wszystkie wiersze z tabeli.

Przykład 4

Przykład 4

:

:

DELETE  FROM 

DELETE  FROM 

pojazdy

pojazdy

WHERE (id_

WHERE (id_

pojazdy

pojazdy

 = 5);

 = 5);

Uwaga: 

Uwaga: 

Powyższa instrukcja zadziała wówczas gdy  nie będzie 

Powyższa instrukcja zadziała wówczas gdy  nie będzie 

powiązanych 

powiązanych 

wierszy w innych tabelach z wierszem 

wierszy w innych tabelach z wierszem 

usuwanym. Są to tzw. 

usuwanym. Są to tzw. 

restrykcje, które dbają o spójność 

restrykcje, które dbają o spójność 

danych w bazie danych.

danych w bazie danych.

background image

8

8

DELETE FROM…. FROM… WHERE

DELETE FROM…. FROM… WHERE

DELETE

DELETE

 

 

FROM 

FROM 

wypozyczenie 

wypozyczenie 

WHERE

WHERE

 

 

EXISTS

EXISTS

 (

 (

SELECT

SELECT

 nazwisko 

 nazwisko 

FROM

FROM

 wypozyczenie w 

 wypozyczenie w 

INNER JOIN

INNER JOIN

 klient k 

 klient k 

ON

ON

 k.id_klienta =

 k.id_klienta =

 

 

w.id_klienta 

w.id_klienta 

WHERE

WHERE

 nazwisko = "Kowalski");

 nazwisko = "Kowalski");

Zapytanie zawierające SELECT użyte w warunku 

Zapytanie zawierające SELECT użyte w warunku 

jako wynik zwraca wszystkie wypożyczenia dla klientów o nazwisku 

jako wynik zwraca wszystkie wypożyczenia dla klientów o nazwisku 

Kowalski.

Kowalski.

Instrukcja DELETE usuwa z tabeli wypożyczeń, wypożyczenia dla 

Instrukcja DELETE usuwa z tabeli wypożyczeń, wypożyczenia dla 

klientów o 

klientów o 

nazwisku Kowalski. 

nazwisku Kowalski. 

background image

9

9

TRUNCATE

TRUNCATE

Instrukcja TRUNCATE to szczególny przypadek instrukcji DELETE (tj. 

Instrukcja TRUNCATE to szczególny przypadek instrukcji DELETE (tj. 

bez 

bez 

klauzuli WHERE). Instrukcja TRUNCATE usuwa wszystkie wiersze z 

klauzuli WHERE). Instrukcja TRUNCATE usuwa wszystkie wiersze z 

tabeli,

tabeli,

bez żadnych wyjątków. Po usunięciu wszystkich wierszy pozostaje 

bez żadnych wyjątków. Po usunięciu wszystkich wierszy pozostaje 

tylko 

tylko 

zachowana struktura tabeli i obiekty z nią skojarzone. Instrukcja 

zachowana struktura tabeli i obiekty z nią skojarzone. Instrukcja 

TRUNCATE 

TRUNCATE 

jest wykonywana szybciej niż instrukcja DELETE. 

jest wykonywana szybciej niż instrukcja DELETE. 

Składnia instrukcji TRUNCATE:

Składnia instrukcji TRUNCATE:

TRUNCATE TABLE tabela;

TRUNCATE TABLE tabela;

Przykład:

Przykład:

TRUNCATE TABLE tymczasowa;

TRUNCATE TABLE tymczasowa;

background image

10

10

Ćwiczenia

Ćwiczenia

• Stwórz tymczasową tabelę ze słownikiem marek oraz 

rokiem produkcji skuterów.

• Ze stworzonej tabeli tymczasowej usuń skutery (s - w 

bazie oznacza skutery) z rocznika od 1999 do 2002

• Wyczyść tabelę tymczasową zawierającą słowniki marek  


Document Outline