(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인 데이터가 삭제된다