<DML>
SQL문 | 내용 |
INSERT | 데이터베이스 객체에 데이터를 입력한다. ( C -> create ) |
DELETE | 데이터베이스 객체의 데이터를 삭제한다. ( Delete ) 레코드를 삭제한다. |
UPDATE | 기존에 존재하는 데이터베이스 객체의 데이터를 수정한다. ( Update ) |
SELECT | 데이터베이스 객체로부터 데이터를 검색한다. ( Read ) |
1. INSERT
테이블 안에 데이터를 삽입하는 역할을 한다.
- 실제 데이터는 VALUES 괄호( )안에 입력하고 문자열은 단일 따옴표(‘ ‘)로
- 각각의 데이터 구분은 쉼표(“ , “)로 한다.
- 테이블 이름 옆에 ( ) 생략시에는 모든 컬럼을 VALUES( )안에 입력시킨다.
1) 모든 필드의 정보가 있을 때
-> 필드명 순서대로 데이터를 삽입해야 한다. 틀리면 에러
> INSERT INTO emp VALUES(7777, 'hong', '총무부', 7369, NOW(), 4000, 100, 40);
2) 사원번호, 이름만 있을 때
> INSERT INTO emp(empno, ename) VALUES(8888, 'park');
3) 이름과 급여 필드를 추가(단, EMPNO는 NOT NULL)
> INSERT INTO emp(ename, sal) VALUES('choi', 5000);
-- Error CODE: 'EMPNO' doesn't have a default value
-- EMPNO는 NULL 데이터를 허용하지 않는다.(NOT NULL): EMPNO 없이 데이터를 생성할 수 없다. 사원번호가 있어야지만 생성가능!
> INSERT INTO emp(empno, ename, sal) VALUES(9999, 'choi', 5000);
-> 1, 2, 3번 모두 테이블에 추가되었다.
DB를 연동한 자바에서도 업데이트 되어있음
* SELECT 문장을 이용한 INSERT *
-> 기존의 테이블에서 선택한 데이터를 새로운 테이블에 삽입
예제) emp의 테이블에 있는 레코드 중에 급여가 3000불 이상인 사원을 emp2에 추가하라.
-- emp2의 필드는 (사원번호:empno, 이름:ename, 담당업무:job, 급여:sal)
> INSERT INTO emp2(empno, ename, job, sal) SELECT empno, ename, job, sal FROM emp WHERE sal>=3000;
> SELECT * FROM emp2;
-> emp2에는 3개의 값만 있었는데 급여가 3000불 이상인 사원이 더 추가되었다.
2. UPDATE
기존에 있던 레코드의 정보를 수정한다.
-> ※ 워크벤치는 기본적으로 레코드를 1개이상 바꾸지 못하도록 설정이 되어 있어서 해당 설정 바꿔줘야함
-> Edit -> Preferences... -> SQL Editor -> Safe Updates(체크해제)
예제1) empno가 9999인 사람의 job을 ‘인사부’로 업데이트해라.(테이블은 emp2)
> UPDATE emp2 SET job = '인사부' WHERE empno = 9999;
예제2) FORD 사원의 job을 기획부로 업데이트 하고 급여를 1000불 인상하라.(테이블은 emp2)
> UPDATE emp2 SET job = "기획부", sal = sal + 1000 WHERE ename = 'FORD';
예제3) emp2의 모든 사원의 급여 10%인상한 급여로 수정하라.
> UPDATE emp2 SET sal = sal*1.1;
> SELECT * FROM emp2;
3. DELETE
데이터를 삭제한다. 조건을 안 적으면 테이블이 삭제된다.
-> 삭제할 때는 기준을 유일한 값을 가지고 삭제
예제1) 7777번(empno) 사원을 삭제하라(테이블 이름은 emp2)
> DELETE FROM emp2 WHERE empno=7777;
> SELECT * FROM emp2;
예제2) 인사부(job)인 사람을 삭제하라.(테이블 이름은 emp2)
> DELETE FROM emp2 WHERE job = '인사부';
> SELECT * FROM emp2;
'멀티캠퍼스 풀스택 과정 > 데이터베이스' 카테고리의 다른 글
데이터베이스2-4 JDBC로 JAVA와 DB의 연동(UPDATE문) (0) | 2022.01.19 |
---|---|
데이터베이스2-3 JDBC로 JAVA와 DB의 연동(INSERT문) (0) | 2022.01.19 |
데이터베이스2-1 JDBC로 JAVA와 DB의 연동(SELECT문) (0) | 2022.01.19 |
데이터베이스1-4 내장함수와 그룹함수 (0) | 2022.01.18 |
데이터베이스1-3 기본 명령어와 SELECT문 및 연산자와 기본문제 (4) | 2022.01.16 |