INSERT INTO – dodawanie/wstawianie rekordów do tabeli – Kurs SQL
Omówimy teraz polecenie INSERT INTO, które służy do wstawiania danych do tabeli. Jego składnia jest następująca:
INSERT INTO nazwa_tabeli VALUES (lista_wartości)
Pole „nazwa_tabeli” wskazuje na tabelę w bazie danych do której chcemy wstawić wartości podane w „lista_wartości”.
Przykład 1:
Mamy tabelę pracownik o następującej strukturze:
pracownik (id_pracownika, imie, nazwisko, pensja)
Teraz do tej tabeli dodamy następujące dane:
Tab. 4.1 Tabela pracownik
id_pracownika | imie | nazwisko | pensja |
12008 | Jan | Kowalski | 1321,56 |
22008 | Adam | Nowak | 2536,76 |
32008 | Kasia | Kowalska | 1207,76 |
Poprawne polecenia umożliwiające dodanie powyższych danych są następujące:
INSERT INTO pracownik VALUES (‘012008’, ‘Jan’, ‘Kowalski’, ‘1321,56’);
INSERT INTO pracownik VALUES (‘022008’, ‘Adam’, ‘Nowak’, ‘2536,76’);
INSERT INTO pracownik VALUES (‘032008’, ‘Kasia’, ‘Kowalska’, ‘1207,76’);
Poprawna jest także wersja polecenia w której możemy wskazać do jakiej kolumny mają zostać dodane powyższe dane. Polecenia wyglądają wtedy następująco:
INSERT INTO pracownik(id_pracownika, imie, nazwisko, pensja) VALUES (‘012008’, ‘Jan’, ‘Kowalski’, ‘1321,56’);
INSERT INTO pracownik(id_pracownika, imie, nazwisko, pensja) VALUES (‘022008’, ‘Adam’, ‘Nowak’, ‘2536,76’);
INSERT INTO pracownik(id_pracownika, imie, nazwisko, pensja) VALUES (‘032008’, ‘Kasia’, ‘Kowalska’, ‘1207,76’);
Przykład 2:
W tym przykładzie uzupełnimy tabelę „adresy” o następujące dane:
Tab. 4.2 Tabela adresy
id | telefon | adres_email | id_pracownika |
1 | 501234567 | jkowalski@msql.pl | 12008 |
2 | 601234567 | anowak@msql.pl | 22008 |
3 | 701234567 | 32008 |
Tabela w bazie danych ma następującą strukturę:
adresy(id, telefon, adres_email, id_pracownika)
Pole „id” jest indeksem tabeli uzupełnianym automatycznie, więc nie musimy go wstawiać, zaś „adres_email” nie jest polem obowiązkowym – nie każdy pracownik musi posiadać adres e-mail. Zatem aby wstawić powyższe dane do tabeli w bazie danych użyjemy poleceń o następującej składni:
INSERT INTO adresy (telefon, adres_email, id_pracownika) VALUES (‘501234567’, ‘jkowalski@msql.pl’, ‘12008’);
INSERT INTO adresy (telefon, adres_email, id_pracownika) VALUES (‘601234567’, ‘anowak@msql.pl’, ‘22008’);
INSERT INTO adresy (telefon, id_pracownika) VALUES (‘701234567’, ‘32008’);