Cherry & Cherish
[SQL] DML (데이터 삽입, 삭제, 수정, 선택) 본문
이제, 본격적으로 데이터를 삽입하고 삭제, 수정, 선택하는 방법에 대해서 알아보자.

앞서 정리한 내용을 참고하면 이해가 쉽다.
[Programming/SQL] - [SQL] SQL의 종류와 정의
[SQL] SQL의 종류와 정의
일상 생활에서 쉽게 접할 수 있는 엑셀 역시 데이터베이스 중 하나다. 이 데이터베이스를 다루기 위한 언어가 SQL인데, 쉽게 말해 데이터를 뽑아내는 언어라고 할 수 있다. SQL에 대해서 좀 더 자
cherish22.tistory.com
2023.02.04 - [Programming/SQL] - [SQL] DDL (테이블 생성, 변경, 삭제)
[SQL] DDL (테이블 생성, 변경, 삭제)
데이터베이스의 데이터를 조회하고, 수정하거나 삭제하려면, 그 이전에 테이블이 존재해야 한다. DDL은 (Data Definition Language) 관계형 데이터베이스의 구조를 정의하는 언어다. (DDL, DML, DCL, TCL에 대
cherish22.tistory.com
1. 데이터 삽입
1) INSERT문
- INSERT문은 테이블에 데이터를 입력하는 DML문이다.
- INSERT문
INSERT INTO table (column1, column2, ..) VALUES (expression1, expression2 ..);
- 테이블에 데이터를 삽입하려면 테이블명, 칼럼명, 데이터 순으로 입력하면 된다.
- 데이터를 입력할 때 문자열을 입력하는 경우 작은 따옴표를 사용해야 한다.
- 만약 특정 테이블의 모든 칼럼에 대한 데이터를 삽입하는 경우에는 칼럼명을 생략할 수 있다.
- INSERT문을 실행했다고 데이터 파일에 저장되는 것이 아니다. 최종적으로 데이터를 저장하러면 TCL문인 Commit 을 실행해야 한다.
- Auto Commit 예외
2) SELECT 문으로 입력
- SELECT 문을 사용해 데이터를 조회해서 해당 테이블에 바로 삽입할 수 있다.
- 입력되는 테이블은 사전에 생성되어 있어야 한다.
INSERT INTO TEST23
SELECT * FROM TEST;
3) Nologging 사용
- 데이터베이스에 데이터를 입력하면 로그파일에 그 정보를 기록한다.
- Check point라는 이벤트가 발생하면 로그 파일의 데이터를 데이터 파일에 저장한다.
- Nologging 옵션은 로그파일 기록을 최소화시켜서 입력 시 성능을 향상시키는 방법이다.
- Nologging 옵션은 Buffer Cache라는 메모리 영역을 생략하고 기록한다.
ALTER TABLE TEST NOLOGGING; #로그 파일 기록을 최소화하여 입력 성능 향상
2. 데이터 수정
1) UPDATE문
- 입력된 데이터의 값을 수정하려면, UPDATE문을 사용한다.
- UPDATE 문을 사용하여 원하는 조건으로 데이터를 검색해서 해당 데이터를 수정할 수 있다.
- 만약, UPDATE문에 조건문을 입력하지 않으면 모든 데이터가 수정되므로 유의해야 한다.
#TEST테이블에서 NOMB가 100인 행의 ENAME 칼럼의 값을 '이름이름'으로 변경한다.
UPDATE TEST
SET ENAME = '이름이름'
WHERE NOMB = 100;
- UPDATE 문에서 주의사항은 데이터를 수정할 때 조건절에서 검색되는 행 수만큼 수정된다는 것이다.
- NOMB가 100인 사람이 2명 이상이면 모두 ‘이름이름'으로 수정된다.
3. 데이터 삭제
1) DELETE 문
- DELETE문은 원하는 조건을 검색해서 해당되는 행을 삭제한다.
- DELETE문에 조건문을 입력하지 않으면 모든 데이터가 삭제된다.
- DELETE문으로 데이터를 삭제한다고 해서 테이블의 용량이 초기화되지는 않는다.
DELETE FROM TEST
WHERE NOMB = 100;
2) TRUNCATE
- 위의 DELETE는 삭제되어도 테이블의 용량은 감소하지 않는다.
- 반면, TRUNCATE는 데이터가 삭제되면 테이블의 용량이 초기화된다.
4. 데이터 선택
1) SELECT 문
- 테이블에 입력된 데이터를 조회하기 위해서 SELECT문을 사용한다.
- SELECT 문은 특정 칼럼이나 특정 행만을 조회할 수 있다.
SELECT * #조회를 원하는 칼럼명을 입력한다.
FROM TEST
WHERE 사원번호 = 100;
2) ORDER BY
- SELECT문을 사용할 때 함께 사용할 수 있다.
- 오름차순(Ascending) 혹은 내림차순(Descending)으로 출력한다.
- 정렬을 하는 시점은 모든 실행이 끝난 후에 데이터를 출력하기 바로 직전이다.
- 데이터베이스 메모리를 많이 사용한다. (성능 저하 주의)
SELECT * FROM TEST
ORDER BY NAME, AGE DESC #NAME은 오름차순으로, AGE는 내림차순으로 정렬한다.
다음은 조건문에 대해 알아보자
2023.02.06 - [Programming/SQL] - [SQL] SQL 조건문
[SQL] SQL 조건문
SQL로 특정한 데이터를 추출할 때, 어떤 형식으로 표현할 수 있을까? WHERE문과 LIKE, BETWEEN문을 한 번에 살펴보자. 1. WHERE문 1) WHERE문이 사용하는 연산자 [비교 연산자] = : 같은 것을 조회한다 < : 작
cherish22.tistory.com
'Programming > SQL' 카테고리의 다른 글
[SQL] DCL과 TCL (0) | 2023.02.06 |
---|---|
[SQL] GROUP 연산, 실행 순서 (0) | 2023.02.06 |
[SQL] SQL 조건문 (0) | 2023.02.06 |
[SQL] DDL (테이블 생성, 변경, 삭제) (0) | 2023.02.04 |
[SQL] SQL의 종류와 정의 (0) | 2023.02.04 |