Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Math
- two pointers
- Binary Tree
- Tree
- simulation
- SQL
- Counting
- bit manipulation
- hash table
- Class
- Binary Search
- 자바
- Data Structure
- 코테
- dynamic programming
- 파이썬
- Method
- Matrix
- implement
- Number Theory
- java
- sorting
- database
- array
- geometry
- Stack
- string
- 구현
- 코딩테스트
- greedy
Archives
- Today
- Total
코린이의 소소한 공부노트
[MySQL] INSERT, UPDATE, DELETE 본문
[예시에 쓰이는 테이블]
# 1학년 4반에 전학생이 왔다.
# 전학생은 가장 뒷번호를 쓰게 된다.
# 전 학교에서의 성적을 보니 국영수 모두 B등급이었다.
# 그 외의 정보는 차차 물어보기로 했다.
# 두 테이블에 전학생의 정보 추가
insert into student_grade values (10421, 'B', 'B', 'B'); # 칼럼명 생략
insert into student_info (grade, ban, hakbeon) values (1, 4, 10421); # 칼럼명 명시
# 전학생의 데이터 확인
select * from student_grade g, student_info i
where g.hakbeon=i.hakbeon and g.hakbeon=10421;
# 결과
hakbeon Korean English Math grade ban hakbeon friends idols colors
10421 B B B 1 4 10421 null null null
[INSERT]
1. insert into 테이블명 (칼럼명1, 칼럼명2, ...) values (값1, 값2, ...) 형태로 쓰인다.
- 입력한 값을 가진 새로운 행을 테이블에 추가해 준다.
2. 모든 칼럼 값을 입력한다면 칼럼명 목록을 생략해도 된다.
- 주의) 칼럼 목록이 생략되면 테이블 구조의 명시된 칼럼 순서대로 값이 들어간다.
- 지정하지 않은 칼럼의 값은 널(null)이 된다.
# 전학생은 무지, 엔믹스, 하얀색을 좋아한다고 한다.
update student_info set friends='Muzi', idols='NMIXX', colors='white'
where hakbeon=10421;
# 맞게 됐나 확인해보자.
select * from student_grade g, student_info i
where g.hakbeon=i.hakbeon and g.hakbeon=10421;
# 결과
hakbeon Korean English Math grade ban hakbeon friends idols colors
10421 B B B 1 4 10421 Muzi NMIXX white
[UPDATE]
1. update 테이블명 set 칼럼명=수정할내용 형태로 쓰인다.
- 테이블에 저장된 내용을 수정하기 위해 사용한다.
- 2개 이상 수정 시 콤마(,)를 이용하면 된다.
2. where절을 쓰지 않으면 모든 행에 대해 수정이 들어간다.
- 필요한 부분만 수정하길 원한다면 where절을 꼭 써야 한다..
# 3학년 2반에서 1명이 전학을 갔다.
# 두 테이블에서 전학간 학생의 정보를 지우고자 한다.
# 3학년 2반 학생들을 확인해보자.
select count(*) as g_cnt, count(*) as i_cnt from student_grade g, student_info i
where g.hakbeon=i.hakbeon and i.grade=3 and i.ban=2;
# 결과
g_cnt i_cnt
20 20
# 전학 간 19번에 대한 내용을 지워보자.
delete from student_grade where hakbeon=30219;
delete from student_info where hakbeon=30219;
# 다시 3학년 2반 학생들을 확인해보자.
select count(*) as g_cnt, count(*) as i_cnt from student_grade g, student_info i
where g.hakbeon=i.hakbeon and i.grade=3 and i.ban=2;
# 결과
g_cnt i_cnt
19 19
[DELETE]
1. delete from 테이블명 형태로 쓰인다.
- 테이블에 저장되어 있는 행을 삭제하기 위해 사용한다.
2. where절을 쓰지 않으면 모든 행이 삭제된다.
- 필요한 행만 삭제하길 원한다면 where절을 꼭 써야 한다.
'Back-End' 카테고리의 다른 글
[MySQL] LIKE, NOT LIKE (0) | 2023.03.31 |
---|---|
[MySQL] CASE WHEN, THEN, ELSE (0) | 2023.03.29 |
[MySQL] COUNT, GROUP BY, HAVING (0) | 2023.03.28 |
[MySQL] ORDER BY, LIMIT (0) | 2023.03.18 |
[MySQL] 내가 겪은 오류 모음 (0) | 2023.03.16 |