ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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
Designed by Tistory.