/ DATABASE

(MYSQL) DML CRUD - 데이터 생성, 읽기, 갱신, 삭제하기


1. 데이터 생성

넣을 데이터는 테이블 필드의 순서에 맞게 넣어주면 된다. 이때 id같이 auto_increment로 지정되어 있는 필드는 자동으로 값이 카운트 되기 때문에 직접 넣을 데이터를 정할 수 있다

INSERT INTO {테이블명} VALUES(넣을 데이터1, 넣을 데이터2,..);

EX)
INSERT INTO product VALUES(1, '여자바지', 10000, 8000);

넣을 데이터 직접 지정해서 넣기

INSERT INTO {테이블명}(지정한 데이터 필드1, 필드2...) VALUES('넣을 데이터1', 2,,,,);

EX)
INSERT INTO product(product_name, ori_price, sale_price) VALUES('어린이 바지', 20000, 7000);



2. 데이터 전체 읽기


SELECT * FROM {테이블명};

SELECT * FROM product;



3. 정한 필드로 데이터 읽기


SELECT {필드명} FROM {테이블명};

SELECT name FROM computer_core;



4. WHERE절로 조건에 맞는 데이터 읽기


SELECT name FROM computer_core WHERE id  < 2; # computer_core에서 id가 2보다 작은 name 출력



5. ORDER BY절로 데이터 정렬하기

DESC가 내림차순이고 ASC가 오름차순으로 정렬이다. 이때 뒤에 아무것도 쓰지 않으면 디폴트값인 ASC, 즉 오름차순 정렬이 된다

SELECT name FROM cumputer_core ORDER BY id DESC; # id역순으로 정렬



6. LIKE절로 데이터 필터하기


# comupter_core테이블에 model_type에 Lake가 들어가 있는 데이터의  model_type과 name 출력  

SELECT model_type, name FROM cumputer_core WHERE model_type LIKE '%Lake%';



7. LIMIT으로 데이터 개수 제한하기


# computer_core테이블에 id와 name을 출력하는데 첫번째 이후 데이터부터 2번째까지의 데이터를 출력 
즉 id를 기준으로 id =2, 3번이 출력된다    

SELECT id, name FROM computer_core LIMIT 1, 2;



8. UPDATE로 데이터 수정하기

첫번째 예시를 보면 모든 name이 변경되는 로직이다. 이는 db내에서 잘못 입력한 것으로 간주하여 에러를 발생시킨다. 변경할때는 WHERE절을 함께 써서 조건을 정해준다

UPDATE computer_core SET name = 'i5';  # computer_core 안에 name을 모두 i5로 변경 (에러발생)  

UPDATE computer_core SET name = 'i100' WHERE id = '3'; # compuer_core안에 id가 3인 데이터의 name을 i100으로 변경   



9. DELETE로 데이터 삭제하기

보통 WHERE절과 함께 써서 특정한 조건에 맞는 데이터만 삭제하는 경우가 많다

DELETE FROM {테이블명} WHERE {특정 컬럼} = '값';

ex)
DELETE FROM product WHERE id = 1; # product 테이블의 id가 1인 데이터가 삭제된다