네이처리 노트
[Mysql] CRUD 코드 및 예제 본문
공부하면서 정리한 내용입니다
참고한 내용은 링크를 확인해주세요
C : Create (생성)
R : Read (읽기)
U : Update (수정)
D : Delete (삭제)
기본 문법
서버와의 연결을 끊는 구문인 QUIT와 같은 경우를 제외한 구문 뒤에는 세미콜론( ; )을 붙입니다.
SELECT * FROM 테이블명;
SELECT
데이터를 조회한다.
SELECT 컬럼명 FROM 테이블명 [WHERE];
where절을 옵션으로서 사용하지 않으면 테이블의 컬럼 전체를 조회한다.
예제
SELECT seq, title, view_order FROM table_name
🧾 seq, title, view_order 의 데이터를 조회한다.
SELECT seq, title, view_order FROM table_name WHERE title = 안녕
🧾 title이 "안녕"값을 가지는 행의 seq, title, view_order 데이터를 조회한다.
SELECT seq, title, view_order FROM table_name WHERE title = 안녕 ORDER BY view_order ASC
🧾 title이 "안녕"값을 가지는 행의 seq, title, view_order 데이터를 조회한다. / view_order의 오름차순으로
SELECT seq, title, view_order FROM table_name WHERE title = 안녕 ORDER BY view_order ASC LIMIT 3
🧾 title이 "안녕"값을 가지는 행의 seq, title, view_order 데이터를 조회한다. / view_order의 오름차순으로 3행까지만 적용
seq | title | view_order |
342 | 안녕 | 1 |
21 | 안녕 | 2 |
10 | 안녕 | 3 |
UPDATE
데이터를 수정한다.
UPDATE 테이블명 SET 컬럼명 = "수정할 값" [WHERE];
where절이 설정되지 않으면 전체컬럼에 수정값이 적용된다.🪓
예제
UPDATE candies SET size = small;
🧾 candies에서 size 컬럼 small 값으로 수정한다. (전체적용)
UPDATE candies SET table_key = 2 WHERE color = "red" AND table_key = 10;
🧾 color값이 red 이면서 table_key값이 10인 table_key의 값을 2로 수정한다.
UPDATE candies SET color = "yellow", size= "medium" WHERE table_key = 40;
🧾 table_key값이 40인 행의 color값을 "yellow"로 size값을 "medium"으로 수정한다.
UPDATE candies SET size = "small" WHERE color IS NULL;
🧾 color가 NULL인 곳의 size 값을 "small"로 수정한다.
UPDATE candies SET size = "small" WHERE color IS NULL LIMIT 1;
🧾 color가 NULL 인 곳의 size 값를 "small"로 수정한다. / 1행만 적용 (기본정렬 ASC)
UPDATE test_kr SET color = "gray" WHERE color IS NULL LIMIT 3, 1;
🧾 color가 NULL 인 곳의 size 값를 "gray"로 수정한다. / 3행이후부터 1개의 행만 적용 (기본정렬 ASC)
INSERT
행 데이터를 추가입력한다.
INSERT INTO 테이블명 ( 컬럼명 [, 컬럼명]) VALUES ( 값 [, 값]);
INSERT INTO 테이블명 VALUES ( 값 [, 값]);
두 번째 문법처럼 컬럼이름을 생략할 수 있으며,
이 경우에는 데이터베이스의 스키마(컬림)와 같은 순서대로 필드의 값이 자동 대입됩니다.🪓
이때 생략할 수 있는 필드는 다음과 같습니다.
- NULL을 저장할 수 있도록 설정된 필드
- DEFAULT 제약 조건(기본값)이 설정된 필드
- AUTO_INCREMENT 키워드가 설정된 필드
예제
INSERT INTO candies (seq, table_key, color, size) VALUES (2, 10, "red", "samll");
🧾 candies테이블의 seq, table_key, color, size컬럼 순서대로 값을 추가하여 하나의 행을 생성한다.
INSERT INTO candies VALUES (6, 30, "black", "small");
🧾 candies테이블의 생략한 컬럼 순서대로 값을 추가하여 하나의 행을 생성한다.
INSERT INTO candies (table_key , color) VALUES (60, "pink") , (70, "purple")
🧾 candies테이블의 table_key, color컬럼 순서대로 값을 추가하여 두개의 행을 생성한다.
추가설명 ✍🏻 위의 표를 보면 seq는 auto increment 이므로 기본값이 없어도 자동으로 번호가 생성된다. size는 기본값이 small이므로 별도의 값을 넣지않아도 "small"이 값이 된다.
DELETE
전체 데이터 또는 컬럼 데이터를 삭제한다.
DELETE FROM 테이블명 [where]
where절을 생략하면, 해당 테이블에 저장된 모든 데이터가 삭제됩니다.
이때 테이블에 저장된 모든 데이터가 삭제되더라도 테이블은 여전히 남아있게 됩니다.
예제
DELETE FROM candies WHERE color = "red";
candies테이블의 color값이 "red"이면 해당 행을 삭제한다.
DROP
테이블안녕잘가👋🏻
DROP TABLE 테이블명
테이블 통채로 삭제하는 방법이니 사용하지 마....
'개발기록 > Mysql' 카테고리의 다른 글
[Mysql] where절로 조건 검색하기 (0) | 2022.10.07 |
---|---|
[Mysql] select 작성 순서와 where 실행 순서 (0) | 2022.10.07 |
[Mysql] 데이터테이블 내장함수 (0) | 2022.10.06 |
[Mysql] DB와 Table 확인, 변경하기 | SHOW, ALTER TABLE (0) | 2022.10.06 |
[Mysql] 데이터테이블의 필드타입, 제약조건, 인덱스 (0) | 2022.10.06 |