본문 바로가기
DataBase/SQL

[SQL] 기초문법 - CREATE, INSERT, DELETE, UPDATE, VIEW

by skwkiix 2023. 10. 6.
728x90

이 포스팅은 <SQL로 맛보는 데이터 전처리 분석(https://www.yes24.com/Product/Goods/86544423)> 책의 3장을 학습하며 정리한 내용이다.

 

SQL  Basic 1


0. CREATE(테이블 생성)

  • 문법
CREATE TABLE 테이블명(
  컬럼명 데이터타입 속성
  PRIMARY KEY(컬럼명)
  FOREIGN KEY(컬럼명) 외래키 조건 설정
);
  • 예시
CREATE TABLE IF NOT EXISTS tasks (
    task_id INT AUTO_INCREMENT
    , title VARCHAR(255) NOT NULL
    , start_date DATE 
    , due_date DATE 
    , priority TINYINT NOT NULL DEFAULT 3 
    , DESCRIPTION TEXT 
    , PRIMARY KEY (task_id)
);

tasks라는 테이블이 없으면 테이블을 생성하는 명령문이다.

다음과 같은 형식으로 테이블을 만든다.

컬럼명 데이터타입 속성
task_id INT - 정수형  AUTO_INCREMENT
title VARCHAR(255) - 최대 255개의 문자열 NOT NULL
start_date DATE  
due_date DATE  
priority TINYINT - 우선순위 숫자 저장 NOT NULL DEFAULT 3 - 결측값 없음, 기본값 지정
description TEXT  

 


1. INSERT (행 추가)

  • 문법
INSERT INTO 테이블명(컬럼1, 컬럼2, 컬럼3)
VALUES (값1, 값2, 값3)
;
  • 예시
INSERT INTO tasks(title, priority)
VALUES ('Learn MySql', 1);

task 테이블에 행이 추가된 것을 확인할 수 있다.

 


2. DELETE(행 삭제)

  • 문법
DELETE FROM 테이블명
WHERE 조건
  • 예시
DELETE FROM tasks WHERE task_id = 1;


3. UPDATE( 데이터 갱신)

  • 문법
UPDATE 테이블명
SET 컬럼명 = '새로운 값'
WHERE 조건;​
  • 예시
UPDATE tasks
SET priority = 10 
WHERE task_id = 5;

task_id 컬럼의 값이 5인 행의 priority 컬럼 값을 10으로 바꾼다.

 


4. VIEW

직접 테이블을 생성하지 않고 SELECT 문의 출력결과를 보여준다.

테이블을 보여줄 수 있는 권한을 줄 수 없을 때, view를 사용한다.

 

기존 select 문에서 상단에 하단 내용을 추가해주면 된다.

CREATE VIEW 뷰이름
AS

 

  • SELECT 문

취소여부가 'Y' 인 데이터만 조회

SELECT 주문번호
FROM sales
WHERE 취소 여부 = 'Y'

 

  • VIEW 사용
CREATE VIEW 뷰이름
AS
SELECT 주문번호
FROM sales
WHERE 취소 여부 = 'Y'

 

728x90