insert into tablename
(spalte1,spalte2 ... spalte n)
values (value1, value2 ... value n)
;
insert into emp
(empno,ename,deptno,job)
values (11,'Hager', 20,'SALESMAN')
;
Es wird in die Tabelle Mitarbeiter (emp) ein neuer Datensatz hinzugefügt.
Es handelt sich um den neuen Mitarbeiter Herrn Hager mit der Mitarbeiternummer 11, der Abteilungsnummer 20 und dem Job SALESMAN.
insert into emp values (10,'Huber','SALESMAN',7902,'1.1.1990',2000,NULL,10) ;Da hier hinter emp keine Spalten angegeben wurden, müssen alle Spalten in der entsprechenden Reihenfolge im Teil VALUES angegeben werden. Erzeugt wird durch die Anweisung ein neuer Mitarbeiter mit der Mitarbeiternummer 10, dem Namen Huber, dem Job SALESMAN, dem Vorgesetzten mit der Nummer 7902 (Herr Ford), dem Einstellungsdatum 1.1.1990, dem Gehalt 2000, ohne Kommission und der Abteilung Nummer 10.
Datensätze können auch auf Basis einer Abfrage hinzugefügt werden. Mit dieser Methode ist es zum Beispiel möglich, sehr schnell sehr große Datenmengen zu Testzwecken zu erzeugen. Denn was nutzt Ihnen eine Testdatenbank, die nur ein paar Tausend Datensätze besitzt. Als erstes erzeugen wir eine Tabelle namens SALESMAN mit zwei Spalten namens empno und ename.
create table salesman(empno int, ename char(20));Anschließend wird diese Tabelle mit einer INSERT- Anweisung und einer Unterabfrage mit Daten gefüllt.
insert into salesman select empno,ename from emp where job = ,'SALESMAN' ; select * from salesman; EMPNO ENAME --------------- 7499 ALLEN 7521 WARD 7654 MARTIN 7844 TURNER 10 Huber 11 HagerMit Hilfe von Skripten können Sie ebenfalls Daten in eine Tabelle einfügen. Schauen wir uns folgendes kleine Skript etwas genauer an (eine detaillierte Einführung in Skripte würde den Rahmen dieser Unterlage sprengen).
ACCEPT Mitarbeiternummer PROMPT 'Geben Sie die Mitarbeiternummer an'
ACCEPT Mitarbeitername PROMPT 'Geben Sie den Mitarbeiternamen an'
ACCEPT Job PROMPT 'Geben Sie den Job des Mitarbeiters an'
INSERT INTO emp(empno,ename,job)
VALUES(&mitarbeiternummer,'&mitarbeitername','&job')
;
Speichern Sie dieses Skript ab (z.B. als ~/test/skript1.sql) und führen Sie es innerhalb von SQL PLUS aus (start ~/test/skript1.sql).
Sie werden nacheinander zur Eingabe der entsprechenden Werte aufgefordert und am Ende wird der Datensatz eingefügt.
update tablename set spalte = neuen_spaltenwert where bedingung;
UPDATE EMP SET sal = sal*1.1 where job = 'SALESMAN';Das Gehalt aller SALESMAN wird um 10% erhöht.
UPDATE EMP SET job = 'Verkäufer' where job= 'SALESMAN'; select ename,job from emp; ENAME JOB ------------------------ SMITH CLERK ALLEN Verkäufer WARD Verkäufer JONES MANAGER MARTIN Verkäufer BLAKE MANAGER CLARK MANAGER SCOTT ANALYST KING PRESIDENT TURNER Verkäufer ADAMS CLERK JAMES CLERK FORD ANALYST MILLER CLERKDer Job SALESMAN wird in der gesamten Tabelle emp umbenannt in Verkäufer.
delete from tabellenname where bedingung
DELETE FROM emp where job = 'SALESMAN';Es werden alle Datensätze der Tabelle Mitarbeiter (emp) gelöscht,bei denen der Job SALESMAN ist.
DELETE FROM emp;Es werden alle Datensätze der Tabelle Mitarbeiter (emp) gelöscht.
Stefan Hietel dama.go GmbH, Robert Warnke http://rowa.giso.de