
Strona o szybkim czytaniu.
Do wstawiania nowych wierszy do tabeli służy instrukcja INSERT
.
Jej składnia wygląda następująco:
INSERT INTO tabela [(kolumna{, kolumna})]
VALUES (wartość{, wartość})
Polecenie to wstawia jeden nowy wiersz do tabeli tabela
przyporządkowując według kolejności odpowiednie wartości do odpowiednich kolumn.
INSERT INTO klienci(klt_id, klt_imie, klt_nazwisko, klt_typ, klt_nip)
VALUES (1010, 'Jacek', 'Kunicki', 'IND', '338-20-81-836');
Instrukcja INSERT
może dodawać dane tylko do jednej tabeli.
W przypadku, gdy wstawiamy wartości do wszystkich kolumn, można opuścić wymienianie kolumn.
INSERT INTO grupy_cen
VALUES (30, 100000, 500000);
Jednym poleceniem INSERT
można wstawić do tabeli wiele wierszy, pod warunkiem, że jesteśmy w stanie utworzyć te wiersze dynamicznie. Instrukcja INSERT
w takim wypadku ma inną postać:
INSERT INTO tabela [(kolumna{, kolumna})]
SELECT kolumna1{, kolumna1} FROM ...
grupy_cen
.
INSERT INTO grupy_cen
SELECT * FROM grupy_cen;
Do usuwania danych służy polecenie DELETE
.
Składnia polecenia wygląda następująco:
DELETE [FROM] tabela
[WHERE warunek]
Polecenie to usuwa z tabeli dowolną ilość wierszy. Warunek po klauzuli WHERE
określa, które wiersze mają zostać usunięte. Pominięcie klauzuli WHERE
spowoduje, że wszystkie wiersze z tabeli zostaną usunięte.
towary
Mikrofon.
DELETE towary
WHERE tow_nazwa = ‘Mikrofon’;
Tabelę można także wyczyścić poleceniem TRUNCATE TABLE
.
Metoda ta jest zdecydowanie szybsza, ale można nią usunąć tylko całą zawartość tabeli, i w przeciwieństwie do polecenia DELETE
, operacji tej nie można już cofnąć.
grupy_cen
.
TRUNCATE TABLE grupy_cen;
Aby zmodyfikować już istniejące dane musimy posłużyć się instrukcją UPDATE
.
Składnia tego polecenia wygląda następująco:
UPDATE tabela
SET kolumna = wartość {, kolumna = wartość}
[WHERE warunek];
Po klauzuli SET
podajemy ciąg kolumn rozdzielonych przecinkiem, którym nadajemy nowe wartości.
Jedno polecenie UPDATE
może zmodyfikować dowolną ilość wierszy w tabeli. Po klauzuli WHERE
podajemy warunek, który określa, które wiersze mają być zmodyfikowane. Jeżeli klauzula WHERE
zostanie pominięta, to zmodyfikowane zostaną wszystkie wiersze w tabeli.
UPDATE towary
SET tow_podatek = 0
WHERE tow_podatek = 7;
W klauzuli SET
nie musi zostać podana wartość statyczna. Może to być podzapytanie, lub dowolne wyrażenie korzystające np. ze starej wartości modyfikowanej kolumny.
UPDATE towary T
SET tow_cena = round (tow_cena*0.9, 2)
WHERE NOT EXISTS (SELECT 1
FROM pozycje_zamowien
WHERE pzm_tow_id = T.tow_id);