본문 바로가기

웹 개발/DBMS

[Web_DBMS] 05

● DML(Data Manipulation Language)

- 데이터 조작어

 

1. SELECT : 조회(검색)

(1) 원하는 컬럼을 골라서 조회할 때

SELECT [컬럼명1, 컬럼명2, ...] FROM [테이블명] WHERE 조건식;

 

(2) 전체 컬럼을 조회할 때(대신 컬럼명을 직접 작성하는 것보다는 느리다.)

SELECT * FROM [테이블명];

 

 

2. INSERT : 추가

(1) 일부 컬럼을 생략할 수 있다.(이 때 default 제약조건이 발동된다.)

INSERT INTO [테이블명]

([컬럼명1], [컬럼명2], [...])

VALUES([값1], [값2], [...]);

 

(2) 모든 값을 전부 작성해야 되며, 컬럼명은 직접 작성하지 않는다.

INSERT INTO [테이블명]

VALUES([값1], [값2], [...]);

 

 

3. UPDATE : 수정

UPDATE [테이블명]

SET [기존 컬럼명1] = [새로운 값], [기존 컬럼명2] = [새로운 값], ...

WHERE 조건식;

 

 

4. DELETE : 삭제

DELETE FROM [테이블명] WHERE 조건식;

 


 

● 조건식

- 참 또는 거짓 둘 중 하나가 나오는 식

- 아래의 연산자들은 WHERE절에서 사용 가능하다.

 

1. >, <

- 초과, 미만

 

2. >=, <=

- 이상, 이하

 

3. =

- 같다

 

4. <>, !=, ^=

- 같지 않다

 

5. AND

- 둘 다 참이면 참

 

6. OR

- 둘 중 하나라도 참이면 참

 

 

 


 

실습(DML(1))

※ 이전에 생성했던 테이블(TBL_OWNER, TBL_PET)에 데이터 추가/조회/수정/삭제

 

1. 데이터 추가(TBL_OWNER)

INSERT INTO TBL_OWNER
VALUES('홍길동', '5111', 20, '남양주');

 

 

 

2. 데이터 조회(TBL_OWNER의 모든 데이터 조회)

SELECT * FROM TBL_OWNER;

 

결과

 

 

 

3. 데이터 추가(TBL_PET)

INSERT INTO TBL_PET
VALUES(1, '고양이', '톰', 1, '방광염', '홍길동', '5111');

 

 

 

4. 데이터 조회(TBL_PET의 모든 데이터 조회)

SELECT * FROM TBL_PET;

 

결과

 

 

 

5. 데이터 삭제(TBL_OWNER에서 이름이 홍길동이고, 핸드폰 번호가 5111인 데이터 삭제)

DELETE FROM TBL_OWNER WHERE OWNER_NAME = '홍길동' AND OWNER_PHONE = '5111';

 

 

 

6. 테이블 삭제(테이블을 삭제할 때에는 FOREIGN KEY가 존재하는 테이블을 먼저 삭제한다.)

DROP TABLE TBL_PET;
DROP TABLE TBL_OWNER;

 

 

 

 

실습(DML(2))

※ 이전에 생성했던 테이블(TBL_STUDENT)에 데이터 추가/조회/수정/삭제

 

1. 학생 데이터 추가

INSERT INTO TBL_STUDENT
(STUDENT_NUMBER, STUDENT_CODE, STUDENT_NAME, STUDENT_MAJOR, STUDENT_BIRTH, STUDENT_COUPLE)
VALUES(1, 'kim1234', '김철수', '컴퓨터공학', TO_DATE('1988-12-04', 'YYYY-MM-DD'), 'N');

INSERT INTO TBL_STUDENT
VALUES(2, 'hong1111', '홍길동', '세무회계학', 'M', TO_DATE('2000-05-04', 'YYYY-MM-DD'), 'Y');

INSERT INTO TBL_STUDENT
VALUES(3, 'hong1234', '홍길동', '물리학과', 'M', TO_DATE('2005-05-04', 'YYYY-MM-DD'), 'Y');

 

 

 

2. 번호가 1번인 학생의 성별을 남자로 수정한다.

UPDATE TBL_STUDENT
SET STUDENT_GENDER = 'M'
WHERE STUDENT_NUMBER = 1;

 

 

 

3. 홍길동 학생은 여자친구와 헤어졌다.

UPDATE TBL_STUDENT 
SET STUDENT_COUPLE = 'N'
WHERE STUDENT_NUMBER = 2;

 

 

 

4. 홍길동 학생이 해킹보안학과로 전과했다.

- 중복 확인을 위해 PK를 검색한다.

SELECT STUDENT_NUMBER FROM TBL_STUDENT
WHERE STUDENT_NAME = '홍길동';

 

 

- 학생 정보를 수정한다.

UPDATE TBL_STUDENT
SET STUDENT_MAJOR = '해킹보안학과'
WHERE STUDENT_NUMBER = 2;

 

 

 

5. 해킹보안학과를 전공한 홍길동이 자퇴했다.

- 해당 학생의 PK를 검색한다.

SELECT STUDENT_NUMBER FROM TBL_STUDENT
WHERE STUDENT_NAME = '홍길동' AND STUDENT_MAJOR = '해킹보안학과';

 

 

- 학생 정보를 삭제한다.

DELETE FROM TBL_STUDENT WHERE STUDENT_NUMBER = 2;

 

 

 

'웹 개발 > DBMS' 카테고리의 다른 글

[Web_DBMS] 07  (0) 2022.04.05
[Web_DBMS] 06  (0) 2022.04.04
[Web_DBMS] 04  (0) 2022.04.02
[Web_DBMS] 03  (0) 2022.04.01
[Web_DBMS] 02  (0) 2022.03.31