SQL INSERT wstawianie wierszy

Do wstawiania danych do tabeli możemy użyć polecenia insert, za pomocą tego polecenia możemy wstawiać dane wiersz po wierszu, poniżej napiszę z czego składa się polecenie insert:

INSERT INTO nazwa_tabeli (nazwa_kolumna1, nazwa_kolumna2, ...)
VALUES (wartość1, wartość2, wartosc3, ...);

......

Dostęp do całego artykułu tylko dla użytkowników zalogowanych!

stwórz swojego użytkownika: załóż nowe konto

{accesstext mode="level" level="registered" noaccess="obecnie masz status gościa"}

Przykład 1
wstawić do tabeli HANDLOWIEC dane nowego pracownika: waclaw sprawny

INSERT INTO HANDLOWIEC(imie, nazwisko)
VALUES ('waclaw','sprawny');

po wykonaniu tego polecenia 1 rekord zostanie wstawiony do tabeli HANDLOWIEC


przykład 2
do tabeli ZAMOWIENIE1 która jest pusta po wykonaniu polecenia TRUNCATE wstawić wszystkie wiersze z tabeli ZAMOWIENIE

INSERT INTO ZAMOWIENIE SELECT * FROM ZAMOWIENIE1 ;

to polecenie wstawi całą zawartość tabeli ZAMOWIENIE1 tutaj w poleceniu nie byly wymieniane tabele ponieważ typy kolumn są identyczne wiec insert będzie wykonany poprawnie

 

przykład 3

do pustej tabeli ZAMOWIENIE1 wstaw tylko jeden wiersz gdzie ID_ZAM=1

odpowiedź
INSERT INTO ZAMOWIENIE1 SELECT * FROM ZAMOWIENIE where ID_ZAM=1;

widzimy że możemy wstawiać wybrane wiersze ( wybrane dane do innych tabel ) jedno ograniczenie to żeby typy danych w kolumnach były takie same

{/accesstext}

ORACLE ALTER TABLE - modyfikacja tabeli

ALTER TABLE używamy wtedy kiedy chcemy zrobić zmiany na już stworzonej tabeli, możemy zrobić następujące główne zmiany:

-) zmienić nazwę kolumny lub kolumn
-) skasować kolumnę
-) dodać kolumnę
-) zmienić typ kolumny
i wiele innych modyfikacji także związanych z parametrami tabeli, a także te które omawiałem w poprzednich działach tj dodanie primary key, foreign key itp

......

Dostęp do całego artykułu tylko dla użytkowników zalogowanych!

stwórz swojego użytkownika: załóż nowe konto

{accesstext mode="level" level="registered" noaccess="obecnie masz status gościa"}

przykład 1
podstawowy wyrażenie alter wygląda tak jak poniżej

ALTER TABLE nazwa_tabeli ....;

w miejsce kropek można wstawić add, modify, change itd


przykład 2
do tabeli ZAMOWIENIE dodać kolumnę kraj_pochodzenia

ALTER TABLE ZAMOWIENIE ADD kraj_pochodzenia varchar2(12);

w wyniku zadziałania tego polecenia tabela ZAMOWIENIE będzie składała się z następujących kolumn

ID_ZAM, ZAMOWIENIE, DATA_ZAMOW, ID_HAND, KRAJ_POCHODZENIA


przykład 3
zmień nazwę kolumny IMIE na IMIE1 w tabeli HANDLOWIEC

ALTER TABLE HANDLOWIEC change IMIE IMIE1;

w wyniku tego polecenia tabela HANDLOWIEC będzie wyglądała następująco

ID_HAND, IMIE1, NAZWISKO


przykład 4
wykasować kolumnę KRAJ_POCHODZENIA w tabeli ZAMOWIENIE

ALTER TABLE ZAMOWIENIE drop kraj_pochodzenia;

po puszczeniu tego polecenia mamy tabele ZAMOWIENIE składającą sie z następujących kolumn:
ID_ZAM, ZAMOWIENIE, DATA_ZAMOW, ID_HAND

{/accesstext}

ORACLE DELETE FROM - usuwanie wierszy z tabeli

Polecenie DELETE służy także do kasowania danych z tabeli, delete różni polecenia truncate m.in. tym że delete umożliwia wykasowanie wybranych rekordów z tabeli, bez podania warunku możemy także wykasować wszystkie rekordy


przykład 1
polecenie do usuwania wszystkich lub wybranych wierszy z tabeli

......

Dostęp do całego artykułu tylko dla użytkowników zalogowanych!

stwórz swojego użytkownika: załóż nowe konto

{accesstext mode="level" level="registered" noaccess="obecnie masz status gościa"}


DELETE FROM nazwa_tabeli WHERE warunek1 and warunek2 or warunek3;

to polecenie kasuje wiersze w tabeli dla których spełniony jest warunek lub warunki

 

  przykład 2
skasować wszystkie wiersze z tabeli ZAMOWIENIE1 w tym przypadku użyć polecenia delete

DELETE FROM ZAMOWIENIE1;

w wyniku tego polecenia zostaną usunięte wszystkie wiersze z tabeli ZAMOWIENIE1



przykład 3

ponieważ pracownik wiktor, pyzdra przestał już pracować w firmie dlatego proszę o usunięcie jego danych z tabeli HANDLOWIEC

DELETE FROM HANDLOWIEC WHERE imie='wiktor' and nazwisko='pyzdra';

polecenie skasuje rekord gdzie imie='wiktor' and nazwisko='pyzdra' z tabeli HANDLOWIEC

WAZNE ! po wykonaniu polecenia DELETE należy zatwierdzić zmiany poleceniem COMMIT

{/accesstext}

ORACLE TRUNCATE TABLE - kasowanie wierszy z tabeli

ORACLE TRUNCATE TABLE polecenie powoduje że wszystkie dane z bazy danych jest usuwane natomiast tabela zostaje w bazie danych

......

Dostęp do całego artykułu tylko dla użytkowników zalogowanych!

stwórz swojego użytkownika: załóż nowe konto

{accesstext mode="level" level="registered" noaccess="obecnie masz status gościa"}

przykład 1

polecenie do usuwania danych w tabeli

TRUNCATE TABLE nazwa_tabeli;

spowoduje usunięcie wszystkich wierszy z tabeli, a tabela jako obiekt bazodanowy zostanie nie naruszona


przykład 2
skasować wszystkie wiersze z tabeli ZAMOWIENIE1 do tego polecenia należy użyć polecenia truncate tabel

TRUNCATE TABLE ZAMOWIENIE1;

{/accesstext}

ORACLE UPDATE - modyfikacja danych w tabeli

Jeżeli dane są już wstawione do tabeli to bardzo często występuje konieczność zmiany tych danych ( modyfikacja danych)
i do tego typu operacji używamy polecenia UPDATE

......

Dostęp do całego artykułu tylko dla użytkowników zalogowanych!

stwórz swojego użytkownika: załóż nowe konto

{accesstext mode="level" level="registered" noaccess="obecnie masz status gościa"}

 

przykład 1
syntax polecenia UPDATE

UPDATE nazwa_tabeli
SET nazwa_kolumna= nowa_wartosc_w_kolumnie
WHERE warunek

warunek - jeżeli będzie spełniony update będzie wykonany dla tych wierszy

przykład 2
w tabeli ZAMOWIENIE1 zmień w kolumnie ZAMOWIENIE wartość PERLY na PERŁY

UPDATE ZAMOWIENIE1
SET ZAMOWIENIE = PERŁY
WHERE ZAMOWIENIE = PERLY;

w wyniku tego polecenia zostaną zmienione wszystkie wartości PERLY na PERŁY w kolumnie ZAMOWIENIE


przykład 3
w tabeli ZAMOWIENIE1 zmień w kolumnie ZAMOWIENIE wartość PERLY na PERŁY a także ustaw data_zamow na 01/01/01 tylko tam gdzie ZAMOWIENIE=PERLY

UPDATE ZAMOWIENIE1
SET ZAMOWIENIE = PERŁY, DATA_ZAMOW='01/01/01'
WHERE ZAMOWIENIE = PERLY;

Jak widzimy można w jednym poleceniu update zmieniać kilka kolumn tak jak w tym przypadku

{/accesstext}