SELECT는 데이터를 조회할 때 사용했다면
이번에는 데이터를 추가하거나, 수정 또는 삭제하는 명령어이다.
INSERT INTO
데이터를 추가할 때 사용하는 명령어이다.
# Syntax
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
# 실제 사용
INSERT INTO Students(StudentName, Age, Address)
VALUES ('김길동', 25, 'Seoul');
# 실제 사용(여러 데이터를 추가하는 경우)
INSERT INTO Students(StudentName, Age, Address)
VALUES
('김길동', 25, 'Seoul'),
('박김은', 21, 'Busan'),
('이나무', 23, 'Jeju');
만약 모든 Column에 데이터를 넣는 경우에는 Column명을 생략해도 된다.
하지만 그런 경우에는 기존의 Column 순서를 지켜서 데이터를 작성해야 한다.
또한, StudentID를 추가하지 않은 이유는 이 Column은 자동으로 삽입되게 설정해 두어서
데이터가 추가되는 경우에 알아서 삽입된다.
그렇다면 모든 Column이 아닌 몇 개의 Column만 작성한 경우에는 어떻게 될까?
남은 값들이 null로 들어가게 된다.
NULL이란? <링크 추가할 예정>
UPDATE
데이터를 수정할 때 사용하는 명령어이다.
# Syntax
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
# 실제 사용
UPDATE Students
SET StudentName = '강길동'
WHERE StudentName = '김길동';
위와 같이 업데이트할 테이블 명을 적어주고
값을 변경할 column과 value를 적어주면 된다.
WHERE은 필수는 아니지만 필수로 넣게 된다.
무슨 의미냐면, WHERE을 생략하게 되면 모든 레코드 값들이 바뀌기 때문이다.
그래서 보통은 바꾸려는 레코드의 정보를 WHERE에 넣으면 된다.
고유하게 가지는 값인 ID값으로 해도 되고,
특정 나이의 사람들을 한 번에 바꾸는 경우 등 WHERE에는 조건을 넣어서 데이터를 수정할 수 있다.
StudentID | StudentName | Age | Address |
1000 | 김길동 | 25 | Seoul |
... |
StudentID | StudentName | Age | Address |
1000 | 강길동 | 25 | Seoul |
... |
따라서 테이블은 다음과 같이 변경될 것이다.
DELETE
데이터를 삭제할 때 사용하는 명령어이다.
# Syntax
DELETE FROM table_name
WHERE condition;
# 실제 사용
DELETE FROM Students
WHERE Age = 22;
이것도 위와 같이 table_name을 적어주고
조건문을 통해 지울 레코드를 명시하면 된다.
DELETE도 WHERE이 필수인 이유가 조건을 붙이지 않게 되면 모든 데이터가 날아가기 때문이다.
그래서 만약 특정 테이블의 데이터를 모조리 지우고 싶다면
다음과 같이 입력하면 된다.
DELETE FROM table_name;
테이블까지 싹 날리고 싶다면?
DROP TABLE table_name;
'💻 소프트웨어(SW) > MySQL' 카테고리의 다른 글
[MySQL] 2. Order By (0) | 2024.02.23 |
---|---|
[MySQL] 1. Select, Select Distinct, Where, And, Or, Not이란 (0) | 2024.02.22 |
[MySQL] 0. SQL이란? (0) | 2024.02.21 |