티스토리 뷰

1. 데이터 조작 언어의 개념 ( DML )

  • 데이터 정의 언어로 정의된 데이터베이스 내의 데이터에 대해 여러 연산을 수행하기 위한 명령어의 집합
    • 사용자에게 데이터베이스에 저장된 데이터를 처리할 수 있게 하는 일체의 도구를 제공
    • 정의된 테이블 등에 레코드를 삽입 / 수정 / 삭제 및 검색하는데 사용되는 SQL 명령어들의 집합
  • 데이터 조작 언어는 실행 즉시 반영되는 영구적 변경을 위한 명령어의 집합이 아니며 복구가 가능 ( DDL과의 차이점 )

2. 명령어의 종류

  • CRUD를 위한 SQL 명령어의 종류
    • INSERT : 테이블 스키마에 적합한 레코드를 삽입
    • UPDATE : 테이블에서 조건을 만족하는 특정 레코드의 컬럼값을 수정
    • DELETE : 테이블에 조건을 만족하는 레코드를 삭제
    • SELECT : 조건을 만족하는 레코드를 테이블에서 검색

3. INSERT 명령어

  • 테이블에 새로운 레코드를 삽입하는 명령어
    • 모든 컬럼 또는 부분 컬럼에 대한 컬럼값을 입력
    • NOT NULL 제약 조건이 있는 컬럼은 반드시 컬럼값을 입력
    • 문자와 날짜 값은 따옴표(’)로 처리
  • 예시
    • INSERT INTO 테이블이름 VALUES(값1, 값2, … 값n)
      • 모든 컬럼값에 해당하는 값이 VALUES에 있을 경우에 사용 가능
      • VALUES 내 값들이 나열된 순서와 테이블에 정의된 컬럼의 순서가 반드시 일치해야 함
      • INSERT INTO 학과 VALUES (’영어영문학과’, ‘인문과학대학’, ‘http://eng.knou.ac.kr’, ‘02-3668-4510’, 135)
    • INSERT INTO 테이블이름(컬럼1, 컬럼2, …. 컬럼n) VALUES(값1, 값2, … 값n)
      • INSERT INTO 학과 ( 단과대학, 학과이름, 졸업학점 ) VALUES ( ‘자연과학대학’, ‘농학과’, 140 )

4. INSERT 명령어 2

  • 테이블에서 검색의 결과를 새로운 레코드로 삽입시에도 사용 가능
    • 삽입하려는 레코드의 컬럼이 반드시 매치되어야 한다.
  • 예시
    • INSERT INTO 테이블이름 ( 컬럼1, 컬럼2, … 컬럼n ) SELECT 컬럼1, 컬럼2, … 컬럼n FROM 테이블이름2 WHERE 검색조건
      • INSERT INTO IT전공교수 ( 교수번호, 교수이름, 직위, 소속학과, 연봉 ) SELECT 교수번호, 교수이름, 직위, 소속학과, 연봉 FROM 교수 WHERE 소속학과 = ‘컴퓨터과학과’

5. UPDATE 명령어

  • 특정한 조건을 만족하는 레코드의 특정 컬럼값을 수정
    • 메모리에서만 수정된 것으로, 내부에서도 반영하려면 다른 명령어를 사용해야 한다.
  • 예시
    • UPDATE 테이블이름 SET 컬럼1 = 값1[, 컬럼2 = 값2, … 컬럼n = 값n]
    • UPDATE 테이블이름 SET 컬럼1 = 수식1[, 컬럼2 = 수식2, … 컬럼n = 수식n]
      • UPDATE 학과 SET 전화번호 = ‘02-3668-4641’, 졸업학점 = 130 WHERE 학과이름 = ‘생활과학과’
      • UPDATE 계좌 SET 잔액 = 잔액 + 잔액 * 0.02 WHERE 잔액 ≥ 500000

6. DELETE 문

  • 조건에 일치하는 레코드 집합을 테이블에서 삭제할 때 사용하는 명령어
    • 컬럼값을 삭제하기 위해서는 UPDATE문을 사용하여 컬럼값을 Null로 변경
  • 다른 테이블에서 참조하고 있을 경우, DELETE문을 사용하면 참조무결성을 지키기 위해 재질문
    • ON DELETE CASCADE : 부모 삭제시 자식도 삭제
  • 예시
    • DELETE FROM 테이블이름 [WHERE 조건]
      • DELETE FROM 강의
        • 강의 테이블에 저장되어있는 모든 레코드 삭제
      • DELETE FROM 교수 WHERE 소속학과 = ‘유아교육과’
        • 소속학과가 유아교육과인 교수의 레코드를 삭제

7. WHERE절 확인

  • WHERE 절이 없는 UPDATE 및 DELETE 문은 전체 테이블을 대상으로 실행

8. SELECT 명령어

  • 이미 존재하는 데이터를 조회하는 명령문
  • 한 개 이상의 테이블에서 주어진 조건에 만족하는 레코드를 출력하는 명령문
  • 관계 대수의 셀렉션, 프로젝션, 조인, 카티션 프로덕트 연산자의 기능을 모두 포함하는 명령문
    • 필수절인 SELECT 절과 부가적인 목적으로 사용하는 절을 혼합하여 검색기능을 구체화

9. SELECT 구문형식 (*)

  • SELECT [DISTINCT] 컬럼1, 컬럼2, … 컬럼n FROM 테이블1[ INNER JOIN | OUTER JOIN 테이블2, INNER JOIN | OUTER JOIN ON 조인조건식1 테이블3 … , INNER JOIN | OUTER JOIN 테이블m ON 조인조건식n] [ WHERE 조건식[중첩질의] ] [ GROUP BY 컬럼1, 컬럼2, … 컬럼n [HAVING 조건] ] [ORDER BY 컬럼1[ASC | DESC], … 컬럼n[ASC | DESC]]
  • 기능
    • SELECT 절 : 결과에 포함되는 컬럼을 지정
    • FROM 절 : 질의를 적용할 테이블을 지정
    • ON 절 : 조인 조건을 지정
    • WHERE 절 : 검색 대상 레코드의 조건을 지정
    • GROUP BY 절 : 레코드를 그룹화하기 위한 그룹조건을 지정
    • HACING : GROUP BY 절이 적용된 결과에 대한 조건을 지정
    • ORDER BY : 검색 결과의 정렬 기준을 지정

10. 단순 SELECT 문

  • 레코드를 제한하지 않고 전체 테이블을 검색하는 SELECT 문
    • WHERE 절이 없는 질의문
    • DISTINCT 키워드를 통해 중복 제거 가능
      • 릴레이션과 다르게 테이블은 중복값을 지닐 수 있다.
  • 예시
    • SELECT [DISTINCT] 컬럼1, 컬럼2, … 컬럼n FROM 테이블
      • 지정한 컬럼 조회
        • SELECT 소속학과 FROM 교수
        • SELECT DISTINCT 소속학과 FROM 교수 ( 중복 제거 )
    • SELECT * FROM 테이블
      • 전체 컬럼 조회
      • SELECT ALL FROM 테이블로도 사용 가능

11. 조건 SELECT 문

  • 산술연산식, 함수 등을 사용하여 표현한 조건을 WHERE 절에 기술하여 조건을 만족하는 레코드만 선택적으로 검색하는 SELECT 문
    • 산술연산자
    • 비교연산자
    • 논리연산자
  • WHERE 절은 UPDATE, DELETE 문 등 조건을 기술하여 선택적으로 레코드에 적용하는 명령문에서 동일하게 사용

12. 조건 표현 연산자

  • 산술연산자
    • 컬럼값 또는 상수와의 산술 연산을 위한 연산자
    • 예시 : DIV, /, -, MOD(%), +, *
  • 비교연산자
    • 컬럼값과 상수의 크기를 비교하는 연산자
    • 예시 : =, <> (≠), >, ≥ , <, ≤
  • 논리연산자
    • 두 개 이상의 조건이 기술되는 질의문에서 조건식 간의 관계를 정의하는 연산자
    • 예시 : AND, OR, NOT
728x90

'방송대 > 데이터베이스 시스템' 카테고리의 다른 글

7강. SQL(4)  (0) 2025.04.04
6강. SQL (3)  (0) 2025.03.24
4강. SQL ( 1 )  (0) 2025.03.10
3강. 관계형 모델  (0) 2025.03.03
2강. 데이터베이스 모델링  (0) 2025.02.26
댓글
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
최근에 올라온 글
Total
Today
Yesterday
공지사항