Home SQL개념- 테이블 CRUD
Post
Cancel

SQL개념- 테이블 CRUD

SQL을 배우는 중.

2023-10-05. 목요일

TOOL: MYSQL

CREATE TABLE

테이블 생성

Schema 생성 후 테이블이 없거나 특정 테이블을 생성할 때 사용한다.

CREATE TABLE IF NOT EXISTS 테이블명(컬럼명 + 데이터타입);

MySQL 데이터 타입은 참고

1
2
3
4
5
6
7
8
9
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)
);

살펴보면

  • AUTO_INCREMENT: 새 데이터가 추가되면 하나씩 카운팅됨. 여기선 행이 추가될 때마다 id가 하나씩 늘어나는 방법으로 사용.

  • NOT NULL:기본값이 없다면 반드시 입력해야 하는 항목.

  • DEFAULT: 기본값 설정.

  • PRIMARY KEY: 테이블의 기본 키는 괄호 안의 값.

image.png

추가됐다!

INSERT DATA

테이블에 데이터 추가하기

INSERT INTO 테이블명 (열이름) VALUES (값);

1
2
INSERT INTO tasks(title, priority)
VALUES ('learn MYsql', 1);

image.png

title 열에는 반드시 데이터를 입력, priority는 입력 안하면 3 / 하면 입력값

다중 행 추가

1
2
3
4
5
6
INSERT INTO tasks(title, start_date, due_date)
VALUES
	('learn INSERT', '2023-10-05', '2023-10-05')
    , ('learn DELETE', '2023.10.05', '2023-10-05')
    , ('learn C', CURRENT_DATE(), CURRENT_DATE())
;

DELETE DATA

데이터 삭제하기

DELETE FROM 테이블명 WHERE 열이름 + 조건;

1
DELETE FROM tasks WHERE title = 'learn MongoDB';

삭제는 했는데 id가 업뎃안됨. 반영하려면 COMMIT, ROLLBACK 을 해야함.

추후 트랜잭션 정리와 함께 업데이트 할 것

ERROR: Safe Update Mode

Error Code: 1175 와 관계있음

MYSQL의 보안기능 중 하나. WHERE 조건문에 KEY(Colunm)를 사용하지 않아 발생하는 에러가 존재함.

의도치 않게 데이터를 수정하는 것을 방지하기 위함.

Safe Update Mode를 해지하려면

1
SET SQL_SAFE_UPDATES = 0;

다시 설정하려면

1
SET SQL_SAFE_UPDATES = 1;

추후 자세히 정리할 것

UPDATE DATA

데이터 수정하기

UPDATE 테이블명 SET 열 이름 + 조건 WHERE 행 + 조건;

1
2
3
UPDATE tasks
SET priority = 10
WHERE task_id = 11;

참고자료 및 데이터

서적: SQL로 맛보는 전처리 분석

참고자료1

참고자료2

MYSQL SampleDATA

Kaggle: Women’s E-Commerce Clothing Reviews

Kaggle: Titanic extended dataset (Kaggle + Wikipedia)

This post is licensed under CC BY 4.0 by the author.