16강 행 추가하기 - INSERT
INSERT INTO 테이블명 VALUES (값1, 값2, ...)
데이터베이스에 행을 추가할때 사용 명령 : INSERT
DESC 테이블명;
: 각 열이 어떤 유형의 데이터 값이 저장가능한지 알 수 있음.
추가할 때, 해당 열의 데이터 형식에 맞도록 지정해야함.
- 값을 저장할 열 지정하기.
지정한 열에만 값을 넣어 행 추가가 가능하다.INSERT INTO 테이블명(열1,열2 ...) VALUES (값1, 값2, ...)
따로 값을 넣어주지 않으면 NULL이 저장됨(기본값)
주의) NOT NULL 제약이 걸려있는 열은 NULL 값을 허용하지 않는다.
DEFAULT
명시적으로 값을 지정하지 않았을 경우 사용하는 초깃값. 테이블 정의할 때 지정 가능.
'DEFAULT를 명시적으로 지정하는 방법'
INSERT INTO sample411(no, d1) VALUES(2, DEFAULT);
이러면 d1자리에 default값이 들어감.
열 지정하지 않으면 디폴트값으로 행이 추가됨.(암묵적)
??? 디폴트값 초기에 지정 어케함? 궁금티비
17강 삭제하기 - DELETE
DELETE FROM 테이블명 WHERE 조건식
WHERE 안써주면 모든 행을 삭제해버리므로 꼭 작성하자.
단, ORDER BY구는 사용 불가능
어떤 행부터 삭제할 것인지는 중요하지 않으며 의미가 없기 때문. (표준)
MySQL에서는 DELETE명령에서 ORDER BY구와 LIMIT 구를 사용해 삭제할 행 지정 가능.
18강 데이터 갱신하기 - UPDATE
UPDATE 테이블명 SET 열1=값1, 열2=값2, ... WHERE 조건식
DELETE와 달리 UPDATE는 셀 단위로 데이터 갱신 가능.
WHERE구 생략 시, 모든 행이 갱신됨
SET구를 사용해 갱신할 열과 값을 지정. 자료형에 맞는 값ㅇ들 지정해야함(=INSERT 할떄)
= 은 대입연산자. (SET구)
NULL로 갱신도 가능 called 'NULL 초기화'
단, NOT NULL 제약 설정은 여기에서도 적용됨! 위반 시 에러발생
19강 물리삭제와 논리삭제
물리삭제
DELETE명령을 사용해 직접 데이터를 삭제하자는 사고방식
논리삭제
테이블에 '삭제플래그'와 같은 열을 미리 준비해두고 테이블에서 실제로 행을 삭제하는 대신,
UPDATE 명령을 이용해 '삭제플래그'의 값을 유효하게 갱신해두자는 발상에 의한 삭제방법
실제 테이블 안에 데이터는 남아있지만, 참조할 때에는 '삭제플래그'가 삭제로 설정된 행을 제외하는 SELECT명령을 실행함. = 결과적으로 행 삭제된것처럼 보임
+ 데이터를 삭제하지 않기때문에 삭제이전의 상태로 되돌릴 수 있음
- 삭제해도 데이터베이스의 저장공간이 늘어나지 않고, 오히려 크기가 증가함에 따라 속도가 떨어짐.
바탕화면에서 삭제 = 논리삭제
휴지통에서 삭제 = 물리삭제
'도서 공부(정리) > SQL첫걸음' 카테고리의 다른 글
| [SQL 첫걸음] 6장 데이터베이스 객체 작성과 삭제 (0) | 2025.04.06 |
|---|---|
| [SQL 첫걸음] 5장 집계와 서브 쿼리 (0) | 2025.03.31 |
| [SQL첫걸음 ] 3장 정렬과 연산 (0) | 2025.03.30 |
| [SQL 첫걸음] 2장 테이블에서 데이터 검색 (0) | 2025.03.23 |
| [SQL첫걸음] 1장 데이터베이스와 SQL/ 2장 테이블에서 데이터 검색 (0) | 2025.03.23 |