Ch -5. 테이블과 뷰
📌 이번 챕터에서는 SQL로 테이블과 뷰를 만드는 법을 다루었다.
테이블 만들기
- CREATE TABLE: 테이블 생성 SQL문으로, 테이블 이름, 열 이름, 데이터 형식을 직접 지정 가능.
- 자동 증가: AUTO_INCREMENT
- 널 허용 금지: NOT NULL
- 기본 키 지정: PRIMARY KEY
- 외래 키 지정: FOREIGEN KEY
제약조건으로 테이블을 견고하게
- 제약조건(constraint): 데이터에 결함이 없도록, 데이터의 무결성을 지키기 위해 제한을 거는 조건. 대표적으로 기본 키 지정이 있음
- MySQL의 대표적인 제약조건
- PRIMARY KEY 제약조건: 기본 키로 데이터를 구분할 수 있는 식별자를 지정함
- FOREIGEN KEY 제약조건: 외래 키를 지정함
- UNIQUE 제약조건: 중복하지 않는 유일한 값을 입력해야 함
- DEFAULT 정의: 값을 입력하지 않았을 때 자동으로 입력되는 값을 지정
- NULL 값 허용: 값이 없다는 의미로, 허용이면 생략 or NULL 사용, 비허용이면 NOT NULL 사용
가상의 테이블: 뷰
- 뷰: 실제가 아닌 가상의 테이블로, 1개의 테이블에만 관련되면 단순 뷰, 2개 이상의 테이블과 관련되면 복합 뷰라고 부른다.
- 뷰를 사용하는 이유: ①사용자별 권한 범위 제어가 가능하여 보안에 도움되며, ②SQL문을 단순화할 수 있음
- 뷰의 형식: SELECT 문으로 구성(아래 코드블럭)
- 뷰 생성: CREATE VIEW
- 뷰 수정: ALTER VIEW
- 뷰 삭제: DROP VIEW
- 기존 뷰 덮어쓰고 없으면 새로 생성: CREATE OR REPLACE VIEW
- 뷰 or 테이블 정보 조회 SQL: DESCRIBE
- 뷰 소스 코드 열람 SQL: SHOW CREATE VIEW
- 뷰에 설정된 조건만 입력되도록 지정: WITH CHECK OPTION
- 뷰 OR 테이블 상태 조회 SQL: CHECK TABLE
CREATE VIEW 뷰_이름
AS
SELECT 열_이름 FROM 뷰_이름
[WHERE 조건];
기본 숙제
p.226의 market_db의 회원 테이블(member) 생성하고, p.229 데이터 입력한 후 인증하기
추가 숙제
p.271 확인 문제 4번 풀고 인증하기
4. 다음은 기존에 뷰가 있으면 덮어쓰고, 없으면 새로 생성하는 SQL입니다. 빈칸에 들어갈 내용을 고르세요.
[ ] 뷰_이름
AS
SELECT 문;
풀이) 뷰를 생성하는 SQL은 CREATE VIEW 인데, 있으면 덮어쓰므로 중간에 OR REPLACE가 있어야 한다.
그래서 CREATE OR REPLACE VIEW가 정답이다.
4주차 혼공SQL 끝!
'SQL' 카테고리의 다른 글
[혼공S] 5주차_인덱스 (0) | 2025.02.16 |
---|---|
[혼공S] 3주차_SQL 고급 문법 (1) | 2025.01.26 |
[혼공S] 2주차_SQL 기본 문법 (0) | 2025.01.19 |
[혼공S] 1주차_SQL 개념 및 맛보기 (1) | 2025.01.10 |