Zawód: Technik informatyk , Technik programista
Kategorie: Bazy danych
Poprawna odpowiedź to `INSERT INTO`, bo właśnie tym poleceniem w SQL dodajemy nowe rekordy (wiersze) do tabeli w bazie danych. W praktyce wygląda to najczęściej tak: `INSERT INTO klienci (imie, nazwisko, email) VALUES ('Jan', 'Kowalski', '[email protected]');`. Silnik bazy danych (np. MySQL, PostgreSQL, SQL Server) odczytuje listę kolumn, dopasowuje do nich wartości z sekcji `VALUES` i tworzy nowy wiersz. To jest podstawowa operacja DML (Data Manipulation Language), obok `UPDATE`, `DELETE` i `SELECT`. W dobrych praktykach zawsze warto jawnie podawać listę kolumn po `INSERT INTO`, zamiast polegać na kolejności kolumn w tabeli. Dzięki temu, gdy ktoś doda nową kolumnę do tabeli albo zmieni ich kolejność, nasze zapytania się nie „wysypią” albo – co gorsza – nie wstawią danych w złe pola. Moim zdaniem to jest jedna z tych rzeczy, które odróżniają kod „na szybko” od kodu, który można utrzymywać latami. Warto też pamiętać o kwestii typów danych: wartości podawane w `VALUES` muszą pasować do typów kolumn (np. tekst w `VARCHAR`, liczba w `INT`, data w `DATE`). W aplikacjach webowych zapytania `INSERT` bardzo często pojawiają się przy obsłudze formularzy – np. rejestracja użytkownika, zapis zamówienia, dodawanie komentarza. Dobrą praktyką jest również używanie parametrów zapytań (prepared statements), a nie sklejanie stringów, żeby uniknąć podatności na SQL Injection. Podsumowując: jeśli chcesz dodać nowy rekord do istniejącej tabeli, standard SQL przewiduje właśnie `INSERT INTO` jako właściwe i jedyne poprawne polecenie do tego celu.