DDL

후투티·2024년 11월 21일

SQL

목록 보기
6/7

노마드코더 SQL 마스터 클래스 1주차

첫 주 목표는 DDL과 DML까지였는데
프로젝트 중에 Redis를 사용할 일이 있어서
DML 보다 Redis부분부터 먼저 수강했다.
지금은 DML 부분 수강중!
예전에는 그냥 무지성으로 따라쳤는데
어떤 의미인지, 어떤 순서로 호출되는 건지 알 수 있게 되어
굉장히 만족스럽다.
한 강의가 짧은 편인데
이 짧은 시간 내에 몰입감을 선사하는 니꼬쌤...👍🏻

SQL 명령어를 꼭 대문자로 써야하나?
= No! 신경 안 씀. 다만, 가독성이 좋아!

DDL

= 데이터 정의 언어

테이블

= 스프레드시트의 Sheet 같은 것임 

DB를 엑셀 파일이라 생각하고 
Table은 하나의 sheet 같은 거라고 생각하기 

테이블 만들기

CREATE TABLE 테이블명 (
  테이블명_id INTEGER PRIMARY KEY AUTOINCREMENT,
  열 타입 NOT NULL UNIQUE,
  열 타입 NOT NULL CHECK (),
  열 타입 NOT NULL CHECK (),
  열 타입 NOT NULL CHECK (),
  열 타입, 
  열 타입 NOT NULL DEFAULT 0 CHECK ()
); 

UNIQUE : 유일성 보장
DEFAULT : 기본값
CHECK (열 제약) : 나만의 제약 만들기. 함수 넣어도 ok

  cf) sqlite에는 boolean 타입이 없음. 
  Integer로 0(false),1(true)으로 판단해야 함

테이블에 데이터 삽입하기

INSERT INTO 테이블명 (열, 열, 열, 열)
VALUES
('', '', '', ''), 타입에 따라 ''를 붙일 수도, 안 붙일 수도
('', '', '', ''),
('', '', '', '');

기본키 (PK)

각 행을 고유하게 식별하게 해주는 식별자 

기본키의 두 가지 특성

  • '유일성'
  • '불변성'

기본키의 두 가지 유형

  • 자연 기본키 : 테이블-데이터간 논리적 관계 有
  • 대체 기본키 : 논리적 관계 無 just 고유 식별자가 필요해서 만든 것

둘 중 뭘 써야 하지?

= 대체 기본키!
why? 자연 기본키를 사용하면 그건 이제 더이상 변경이 불가능하기 때문. (불변성)

profile
모르는 건 모른다고 하는 사람

0개의 댓글