-
[About_MySQL 기본문법(2)_DML의 CRUD]About_Datascience/SQL 2023. 1. 31. 17:53
DDL 은 Data Manipulation Language의 약자로 데이터 조작어이다.
이는 데이터 검색, 삽입, 수정, 삭제등에 사용된다.쉽게 말하면 테이블 안에 있는 데이터의 생성, 삭제, 변경 등에 사용된다고 이해하면 쉬울 것 같다.
DML의 C(CREATE) R(READ) U(UPDATE) D(DELETE) 의 명령어로는
C : INSERT INTO R : SELECT FROM U : UPDATE SET D : DELETE FROM 이 사용된다.
예제로 전 게시물의 test 데이터베이스를 활용할 예정이다.
# test 데이터베이스의 USE test; # user 테이블의 스키마 출력 DESC user;
C : INSERT INTO
# name 과 email 컬럼에 'peter' 와 'peter@gmail.com' 이라는 값을 넣겠다. INSERT INTO user(name,email) VALUE ('peter' , 'peter@gmail.com');
R : SELECT 출력할 컬럼 FROM 테이블명
# * : 전부 다 가져와라 SELECT * FROM user;
U : UPDATE SET
# user 테이블의 email 컬럼을 'jin@kakao.com' 으로 , age 컬럼을 27로 수정한다. UPDATE user SET email = 'jin@kakao.com', age = 27 # user_id가 4인 것만 수정한다. WHERE user_id = 4 # 수정할 데이터의 수를 선택할 때 LIMIT 3; # 수정할 데이터 상위 3개만 바꾼다.
UPDATE나 DELETE 같은 수정 작업을 할 때 주의할 점은 반드시 WHERE 절 , LIMIT 절을 같이 써줘야 한다는 것이다.
이러한 조건을 빼고 UPDATE SET 구문만 쓸 경우 해당 컬럼의 모든 데이터가 바뀔 수도 있기 때문이다.
현업에서는 데이터의 양이 매우 크기 때문에 한 컬럼의 모든 데이터가 변경될 경우 해당 서비스 자체에까지 매우 큰 영향을 끼친다.
혹시나 이런 실수를 했다면 빠르게
# 어디가 실행되고 있는지 확인 후 SHOW PROCESSLIST; # 강제 쿼리 종료 (숫자 부분은 실행되고 있는 부분 기입) KILL 144;
위의 구문을 이용하여 최악의 사태만은 막아야 한다고 한다..!
D : DELETE
DELETE FROM user WHERE age<=30 # 2개의 데이터 LIMIT 1; # 중에 위 1개만 삭제하겠다 !
'About_Datascience > SQL' 카테고리의 다른 글
[About _ MySQL _ join] (0) 2023.02.01 [About_MySQL _ group by 와 having] (0) 2023.02.01 [About_MySQL _ 함수 , 조건절] (0) 2023.01.31 [About_MySQL 기본문법(1)_DDL의 CRUD] (0) 2023.01.30 [About _ AWS 서버, MYSQL 환경 구축] (0) 2023.01.25