SQL 간단한 정리

Kim Dong Kyun·2022년 12월 7일
0

Today I learned

목록 보기
13/43

RDBMS란?

  • RDBMS는 ‘Relational DBMS’의 약자로 관계형 데이터베이스라고 불립니다.
  • RDBMS는 테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 열(column)과 행(row)으로 이루어져 있습니다.
아이디이름전화번호그룹column 명
ka123카즈하010-7777-7777르세라핌1 row
kim123김채원010-6666-6666르세라핌2 row
sa123사쿠라010-8888-8888르세라핌3 row
heo123허윤진010-0000-0000르세라핌4 row
hong123홍은채010-1111-1111르세라핌5 row

SQL

SQL 안에는 다양한 형태의 명령어들이 있다.

- DDL

‘Data Definition Language’ 의 약자로 테이블이나 관계의 구조를 생성하는데 사용합니다

  • CREATE : 새로운 데이터베이스 및 테이블을 생성해 줍니다.
    CREATE DATABASE 데이터베이스이름;
    CREATE TABLE 테이블이름
    (
    		필드이름1 필드타입1,
        필드이름2 필드타입2,
        ...
    );
  • ALTER : 데이터베이스와 테이블의 내용을 수정할 수 있습니다.
    ALTER TABLE 테이블이름 ADD 필드이름 필드타입;
    ALTER TABLE 테이블이름 DROP 필드이름;
    ALTER TABLE 테이블이름 MODIFY COLUMN 필드이름 필드타입;
  • DROP : 데이터베이스와 테이블을 삭제할 수 있습니다. 데이터 및 테이블 전체를 삭제합니다.
    DROP DATABASE 데이터베이스이름;
    DROP TABLE 테이블이름;
  • TRUNCATE : 데이터베이스와 테이블을 삭제할 수 있습니다. 최초 테이블이 만들어졌던 상태 즉, 컬럼값만 남깁니다.
    TRUNCATE DATABASE 데이터베이스이름;
    TRUNCATE TABLE 테이블이름;

DML

‘Data Manipulation Language*’ 의 약자로 테이블에 데이터를 검색, 삽입, 수정, 삭제하는데 사용

  • INSERT : 테이블에 새로운 row를 추가할 수 있습니다.

    INSERT INTO 테이블이름(필드이름1, 필드이름2, 필드이름3, ...) VALUES(데이터값1, 데이터값2, 데이터값3, ...);
    INSERT INTO 테이블이름 VALUES(데이터값1, 데이터값2, 데이터값3, ...);
  • SELECT : 테이블의 row를 선택할 수 있습니다.

    SELECT 필드이름 FROM 테이블이름 [WHERE 조건];
  • UPDATE : 테이블의 row의 내용을 수정할 수 있습니다.

    UPDATE 테이블이름 SET 필드이름1=데이터값1, 필드이름2=데이터값2, ... WHERE 필드이름=데이터값;
  • DELETE : 테이블의 row를 삭제할 수 있습니다.

  • AUTO_INCREMENT : 컬럼의 값이 중복되지 않게 1씩 자동으로 증가하게 해줘 고유번호를 생성해 줍니다.

    CREATE TABLE 테이블이름
    (
        필드이름 필드타입 AUTO_INCREMENT,
        // id bigint AUTO_INCREMENT,
        ...
    );
  • NOT NULL : 해당 필드는 NULL 값을 저장할 수 없게 됩니다.

    CREATE TABLE 테이블이름
    (
        필드이름 필드타입 NOT NULL,
        ...
    );
  • UNIQUE : 해당 필드는 서로 다른 값을 가져야만 합니다.

    CREATE TABLE 테이블이름
    (
        필드이름 필드타입 UNIQUE,
        ...
    );
  • PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가지게 됩니다.

    CREATE TABLE 테이블이름
    (
        필드이름 필드타입 PRIMARY KEY,
        ...
    );

Primary key

  • PRIMARY KEY는 테이블 내에서 '유일하게 존재하는 값의 조합'을 설정해서 중복된 데이터가 테이블에 삽입되는 것을 방지하는 제약조건.

Primary Key를 사용하는 이유

  1. 데이터의 중복 방지
  1. 데이터를 매우 빠르게 찾을 수 있다. PK를 설정하면 DBMS는 인덱스를 만들기 때문. 데이터 조회 시에 훨씬 편해짐.

FOREIGN KEY

  • FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 만들며 데이터의 무결성을 보장해 줍니다.
    • FK 를 가지는 테이블이 참조하는 기준 테이블의 열은 반드시 PK, UNIQUE 제약조건이 설정되어 있어야 합니다.

      CREATE TABLE 테이블이름
      (
          필드이름 필드타입,
          ...
      		FOREIGN KEY(필드이름)
          REFERENCES 테이블이름(필드이름)
      );
❗ FOREIGN KEY 이해하기
  • FOREIGN KEY 즉, 외래키는 두개의 테이블을 연결하는 다리 역할을 해주는 키입니다.

    • 위와 같이 외래키를 사용하면 중복되는 데이터를 없애고 주문 테이블에서 외래키를 사용해서 사용자테이블에 접근해 주문을 한 사용자의 정보도 가져올 수 있게 됩니다.
    • 추가로 기본키가 하나의 테이블에서 중복된 데이터가 삽입되는 것을 방지하는 역할을 해주는데 외래키 역시 비슷한 문제를 방지하는 역할을 수행합니다.
    • 외래키는 데이터가 새롭게 추가될 때 외래키에 해당하는 값이 외래키가 참조하는 테이블에 존재하는지를 확인합니다.

출처 : 스파르타 코딩 클럽 내일배움캠프

0개의 댓글