-INSERTコマンドはテーブルへデーターを追加する。
--INSERTの文法 INSERT INTO table_name(column1, column2, ...) VALUES (データー, 'データー', ...); INSERT INTO table_name(column1, column2, ...) SELECT column1, column2, ... FROM table_name WHERE 条件; -実際のデーターはVALUES()内へ入力し文字列は''で囲む -各データーの区別は"," -テーブル名横の()省略時には自動ですべてのコラムをVALUES()内へ入力する。
--INSERT例
--すべてのデーターを入力する場合
SQL> INSERT INTO emp
2 VALUES (7369, 'SMITH', 'CLERK', 7902, TO_DATE('80/12/17'), 800, NULL, 20);
1行が作成されました。
--入力したいデーターのみINSERT
SQL> INSERT INTO dept (deptno, dname)
2 VALUES (10, 'ACCOUNTING');
1行が作成されました。
--SELECT文を使ったINSERT
SQL> INSERT INTO dept2
2 SELECT * FROM dept;
INSERT INTO dept2
■UPDATE
-テーブル内のデーターを修正(変更)する。
--UPDATE文法 UPDATE table_name SET column1 = 値(修正内容), column2 = 値, ... WHERE 条件
--UPDATE例
--変更前確認
SQL> SELECT * FROM emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------- ---------- ---------- ----------
7369 SMITH CLERK 7902 13-08-19 800 20
7499 ALLEN SALESMAN 7698 13-08-19 1600 300 30
7521 WARD SALESMAN 7698 13-08-19 1250 500 30
7566 JONES MANAGER 7839 13-08-19 2975 20
7654 MARTIN SALESMAN 7698 13-08-19 1250 1400 30
7698 BLAKE MANAGER 7839 13-08-19 2850 30
7782 CLARK MANAGER 7839 13-08-19 2450 10
7788 SCOTT ANALYST 7566 13-08-19 3000 20
7839 KING PRESIDENT 13-08-19 5000 10
7844 TURNER SALESMAN 7698 13-08-19 1500 0 30
7876 ADAMS CLERK 7788 13-08-19 1100 20
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------- ---------- ---------- ----------
7900 JAMES CLERK 7698 13-08-19 950 30
7902 FORD ANALYST 7566 13-08-19 3000 20
7934 MILLER CLERK 7782 13-08-19 1300 10
14行が選択されました。
--社員番号7902の社員の部署番号を30に修正
SQL> UPDATE emp
2 SET deptno = 30
3 WHERE empno = 7902;
1行が更新されました。
--部署番号20の社員たちの給与を10%UP
SQL> UPDATE emp
2 SET sal = sal * 1.1
3 WHERE deptno = 20;
4行が更新されました。
--すべての社員の入社日を本日に修正
SQL> UPDATE emp
2 SET hiredate = SYSDATE;
14行が更新されました。
--変更後の確認
SQL> SELECT * FROM emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------- ---------- ---------- ----------
7369 SMITH CLERK 7902 13-08-19 880 20
7499 ALLEN SALESMAN 7698 13-08-19 1600 300 30
7521 WARD SALESMAN 7698 13-08-19 1250 500 30
7566 JONES MANAGER 7839 13-08-19 3272.5 20
7654 MARTIN SALESMAN 7698 13-08-19 1250 1400 30
7698 BLAKE MANAGER 7839 13-08-19 2850 30
7782 CLARK MANAGER 7839 13-08-19 2450 10
7788 SCOTT ANALYST 7566 13-08-19 3300 20
7839 KING PRESIDENT 13-08-19 5000 10
7844 TURNER SALESMAN 7698 13-08-19 1500 0 30
7876 ADAMS CLERK 7788 13-08-19 1210 20
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------- ---------- ---------- ----------
7900 JAMES CLERK 7698 13-08-19 950 30
7902 FORD ANALYST 7566 13-08-19 3000 30
7934 MILLER CLERK 7782 13-08-19 1300 10
14行が選択されました。
SQL>
■DELETE
-使用しないデーターを削除する。
--DELETE文法 DELETE FROM table_name WHERE 条件
--DELETE例 --社員番号7902の社員のデーターを削除 SQL> DELETE FROM emp 2 WHERE empno = 7902; 1行が削除されました。 --平均給与より小さい給与の社員削除 SQL> DELETE FROM emp 2 WHERE sal < (SELECT AVG(sal) FROM emp); 8行が削除されました。 --すべての行を削除 SQL> DELETE FROM emp; 5行が削除されました。
0 件のコメント:
コメントを投稿