Cherry & Cherish

[SQL] DML (데이터 삽입, 삭제, 수정, 선택) 본문

Programming/SQL

[SQL] DML (데이터 삽입, 삭제, 수정, 선택)

앵도라지 2023. 2. 5. 18:24

이제, 본격적으로 데이터를 삽입하고 삭제, 수정, 선택하는 방법에 대해서 알아보자.

 

 

앞서 정리한 내용을 참고하면 이해가 쉽다.

[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
Comments