Bazy danych

Witryna zawiera podstawowe informacje odnośnie funkcji w bazach danych takich jak MySQL i Oracle oraz podstawowe informacje dotyczące zapytań.

czwartek, 26 kwietnia 2012

INSERT

INSERT - polecenie to służy do dodawania rekordów do tabeli.

Postać instrukcji INSERT jest następująca:

INSERT INTO tabela
VALUES (wartosc1, wartosc2, wartosc3,...)

lub

INSERT INTO tabela (nazwa_kolumny_1, nazwa_kolumny_2, nazwa_kolumny_3,...)
VALUES (wartosc1, wartosc2, wartosc3,...)



UWAGA!
Jeżeli chcemy wprowadzić wartość pustą (null) musimy użyć operacji INSERT określając nazwy kolumy (kolumn).
W poleceniu

INSERT INTO tabela VALUES(wartosci....);
musimy podać wszystkie wartości. W przeciwnym wypadku otrzymamy błąd. (przykład 2, przykład 3)



Przykład 1.

Wyświetlamy zawartość tabeli DEPT, następnie dodajemy rekord pierwszym sposobem.
W dalszej kolejności ponownie wyświetlamy zawartość tabeli, aby sprawdzić efekt działania polecenia INSERT.
Czynność tą powtarzamy dodając rekord drugim sposobem (uwzględniając nazwy kolumn w  poleceniu INSERT).


SELECT * FROM DEPT;

DEPTNO                 DNAME                     LOC                      
---------------------- ------------------------- -------------------------
10                     ACCOUNTING                NEW YORK                 
20                     RESEARCH                  DALLAS                   
30                     SALES                     CHICAGO                  
40                     OPERATIONS                DENVER                   

4 rows selected



INSERT INTO DEPT VALUES('50', 'NOWY WPIS 1', 'LOKALIZACJA 1');
1 rows inserted



SELECT * FROM DEPT;
DEPTNO                 DNAME                     LOC                      
---------------------- ------------------------- -------------------------
10                     ACCOUNTING                NEW YORK                 
20                     RESEARCH                  DALLAS                   
30                     SALES                     CHICAGO                  
40                     OPERATIONS                DENVER                   
50                     NOWY WPIS 1               LOKALIZACJA 1            

5 rows selected




INSERT INTO DEPT (DEPTNO, DNAME, LOC) VALUES('60', 'NOWY WPIS 2', 'LOKALIZACJA 2');
1 rows inserted




SELECT * FROM DEPT;

DEPTNO                 DNAME                     LOC                      
---------------------- ------------------------- -------------------------
10                     ACCOUNTING                NEW YORK                 
20                     RESEARCH                  DALLAS                   
30                     SALES                     CHICAGO                  
40                     OPERATIONS                DENVER                   
50                     NOWY WPIS 1               LOKALIZACJA 1            
60                     NOWY WPIS 2               LOKALIZACJA 2            

6 rows selected



Przykład 2.


INSERT INTO DEPT (DEPTNO)  VALUES('90');

DEPTNO                 DNAME                     LOC                      
---------------------- ------------------------- -------------------------
10                     ACCOUNTING                NEW YORK                 
20                     RESEARCH                  DALLAS                   
30                     SALES                     CHICAGO                  
40                     OPERATIONS                DENVER                           
90                     (null)                    (null)                               

7 rows selected



Przykład 3.

INSERT INTO DEPT VALUES('100');

Error starting at line 1 in command:
INSERT INTO DEPT  VALUES('100')
Error at Command Line:1 Column:12
Error report:
SQL Error: ORA-00947: not enough values
00947. 00000 -  "not enough values"
*Cause:   
*Action:

Otrzymujemy błąd - not enough values!!!


Błąd jest spowodowany tym, iż struktura tabeli DEPT zawiera 3 kolumny (DEPTNO, DNAME, LOC), a w naszym INSERT została określona tylko jedna wartość.

Brak komentarzy:

Prześlij komentarz