[CS] 데이터베이스 - SQL

두두·2023년 11월 21일
0

CS

목록 보기
13/14

SQL?

  • 관계 데이터베이스를 위한 표준 질의어
  • 비절차적 데이터 언어

SQL 분류

  • 데이터 정의어(DDL)
    : 테이블을 생성하고 변경제거하는 기능을 제공
  • 데이터 조작어(DML)
    : 테이블에 새 데이터를 삽입하거나, 테이블에 저장된 데이터를 수정,삭제,검색 하는 기능을 제공
  • 데이터 제어어(DCL)
    : 보안을 위해 데이터에 대한 접근 및 사용권한을 사용자별로 부여하거나 취소 하는 기능을 제공


데이터 정의 기능

테이블 생성, 변경 삭제 가능

CREATE TABLE

테이블 생성

  • [ ]의 내용은 생략이 가능
  • SQL 질의문은 세미콜론(;)으로 문장의 끝을 표시
  • SQL 질의문은 대소문자를 구분하지 않음

속성 정의

NOT NULL

  • 속성이 널 값을 허용하지 않음을 의미하는 키워드
  • 예) 고객아이디 VARCHAR(20) NOT NULL

DEFAULT

  • 속성의 기본 값을 지정하는 키워드
  • 예) 적립금 INT DEFAULT 0
  • 예) 담당자 VARCHAR(10) DEFAULT ‘방경아

키의 정의

PRIMARY KEY

  • 기본키를 지정하는 키워드
  • 예) PRIMARY KEY(고객아이디)
  • 예) PRIMARY KEY(주문고객, 주문제품)

UNIQUE

  • 대체키를 지정하는 키워드
  • 대체키로 지정되는 속성의 값은 유일성을 가지며 기본키와 달리 널 값이 허용됨
  • 예) UNIQUE(고객이름)

FOREIGN KEY

  • 외래키를 지정하는 키워드
  • 외래키가 어떤 테이블의 무슨 속성을 참조하는지 REFERENCES 키워드 다음에 제시

ALTER TABLE

테이블 변경

  • 새로운 속성을 추가하는 경우
  • 기존에 존재하는 속성을 삭제하는 경우

  • 새로운 제약조건을 추가하는 경우

  • 기존 제약조건을 삭제하는 경우

DROP TABL## DROP TABL우E

테이블 삭제

‼️ 만약, 삭제할 테이블을 참조하는 테이블이 있다면?

  • 테이블 삭제가 수행되지 않음
  • 관련된 외래키 제약조건을 먼저 삭제해야 함


데이터 조작 기능

데이터 검색, 새로운 데이터 삽입, 데이터 수정, 데이터 삭제

SELECT

데이터 검색 기능

  • SELECT 키워드와 함께 검색하고 싶은 속성의 이름을 나열
  • FROM 키워드와 함께 검색하고 싶은 속성이 있는 테이블의 이름을 나열
  • 검색 결과는 테이블 형태

ALL

  • 결과 테이블이 투플의 중복을 허용하도록 지정, 생략 가능

DISTINCT

  • 결과 테이블이 투플의 중복을 허용하지 않도록 지정

AS

  • 결과 테이블에서 속성의 이름을 바꾸어 출력 가능

산술식

  • SELECT 키워드와 함께 산술식 제시
  • 속성의 이름과 +, -, *, / 등의 산술 연산자와 상수로 구성
  • 속성의 값이 실제로 변경되는 것은 아니고 결과 테이블에서만 계산된 결과 값이 출력

INSERT

데이터 삽입

  • INTO 키워드와 함께 투플을 삽입할 테이블의 이름과 속성의 이름을 나열
  • 속성 리스트를 생략하면 테이블을 정의할 때 지정한 속성의 순서대로 값이 삽입됨
  • VALUES 키워드와 함께 삽입할 속성 값들을 나열
  • INTO 절의 속성 이름과 VALUES 절의 속성 값은 순서대로 일대일 대응되어야 함

UPDATE

데이터 수정
테이블에 저장된 투플에서 특정 속성의 값을 수정

  • SET 키워드 다음에 속성 값을 어떻게 수정할 것인지를 지정
  • WHERE 절에 제시된 조건을 만족하는 투플에 대해서만 속성 값을 수정
  • WHERE 절을 생략하면 테이블에 존재하는 모든 투플을 대상으로 수정

DELETE

테이블에 저장된 데이터를 삭제

  • WHERE 절에 제시한 조건을 만족하는 투플만 삭제






profile
멋쟁이가 될테야

0개의 댓글