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
'DataBase > SQL' 카테고리의 다른 글
| [SQL] 상품리뷰 데이터 분석 - 2 (0) | 2023.10.06 |
|---|---|
| [SQL] 상품리뷰 데이터 분석 - 1 with MySQL (0) | 2023.10.06 |
| MySQL - Unhandled exception : 'ascii' codec can't decode byte 0xc3 in position 480: 해결방법 (2) | 2023.10.04 |
| [SQLD] 1과목 - 데이터 모델링의 이해 1. 개념정리 (0) | 2023.09.21 |
| [SQL] 데이터 모델링(Data Modeling) 개념과 ERD (0) | 2023.09.12 |