2 min read

SQL 첫걸음 4장

데이터 행을 추가하기 위해서 Insert 명령문을 사용한다.

insert into 테이블명 values(값1, 값2...)

-> 웹페이지에서 ‘신규등록’이나 ‘추가’와 같은 버튼을 클릭했을 때 처리되는 데이터 추가 기능과 같이 생각하면 된다. -> 행 기준으로 추가된다. -> values 안에는 col 순서대로 넣어주면 된다.

insert into 테이블명(열1, 열2.....) values(값1,값2....)

-> 특정 열에 대한 값만 추가할 수 있다. -> 선택되지 않은 열은 Null로 처리된다. -> Not Null이라는 제약이 걸려있는 열에는 Null값이 허용되지 않는다.

Default는 값을 지정하지 않은 초깃값. 보통 0으로 처리된다.

insert into 테이블명(열1, 열2....) values(값1, default ...)

이런식으로 default값을 넣을 수 있다. 암묵적으로 default값을 넣을 수 있는데, 별도로 지정하지 않으면 된다.

데이터 행을 삭제하기 위해서는 Delete 명령문을 사용한다.

delete from 테이블명 where 조건식

-> where라는 명령문 없이 delete 명령문을 실행하면 모든 행이 사라진다. 꼭 조건식을 추가해야된다. -> where 조건에 일치하는 모든 행을 삭제한다. 따라서 실행할 때 조건식을 잘 확인해봐야된다. -> select처럼 and, or 명령을 사용할 수 있다. 그러나 order by는 사용할 수 없다.

테이블의 셀에 저장되어 있는 값을 갱신하려면 update 명령문을 사용한다.

update 테이블명 set 열1=값1, 열2=값2,.... where 조건식

delte와 마찬가지로 where를 생략하게 되면 모든 행이 갱신된다.

update 테이블명 set 열=값1+1

수치형일 경우 특정 열에 값에서 +1된 값이 나오게된다. 복수열을 갱신할 때는 콤마로 구분해서 해주면 된다. null값으로도 갱신 가능하다.

물리삭제와 논리삭제

물리삭제는 delete 명령문을 사용해서 직접 데이터를 삭제하는 방식이다. 논리삭제는 테이블에 ‘삭제플래그’와 같은 열을 미리 준비한다. 즉, 테이블에서 실제로 행을 삭제하는 대신, update 명령을 이용해 ‘삭제플래그’의 값을 유효하게 갱신해두자는 발상에 의한 삭제방법을 의미미한다. 논리삭제는 실제로 데이터를 삭제하지 않기 때문에 삭제 전 상태로 쉽게 되돌릴 수 있다.

sns 서비스의 경우 개인정보를 사용하기 때문에 물리삭제가 유용하다. 쇼핑 사이트의 경우 논리삭제 방법을 많이 사용한다. 주문이 취소되더라도 발주는 된 것이기 때문에 완전 불필요한 자료가 아니기 때문이다. 논리삭제의 경우 용량을 늘릴 수 있기 때문에, 상황에 따라 잘 선택해야된다.