mySQL 테이블 내 내용 삭제

2022. 1. 10. 22:05[WEB]/[JSP] 게시판 만들기 실습

BBS라는 테이블을 만들었고 그 안에 user가 들어있다.

user안에 있는 값들이다.

 

내가 원하는건 user 안에 있는 내용 즉 1111, 1111a, rrrr, 남자, 1234@1111와 같은 데이터를 지우고 싶었다.

 

구글링을 해보니

DELETE FROM [테이블 명] where [컬럼 명] = [컬럼];

을 쓰면 된다고 했다.

그래서 

DELETE FROM user WHERE userID = 'gildong';

DELETE FROM BBS WHERE userID = 'gildong'; 두 개 다 해봤는데

위에 이미지에서는 "="이 빠져있는데 업로드용으로 다시 해본거라 위처럼 제대로 된 코드를 쳤었다.

ERROR 1064(42000)이 나왔다.

 

이 에러가 뭔가.... 검색해보니

ERROR 1064(42000)는 SQL 구문이 틀렸을 때 나오는 에러라고 한다.

 

곰곰히 생각해보니 user는 BBS안에 있는 다른 테이블이다. 따라서 user가 아닌 BBS.user라고 해야 맞다고 생각했다.

 

DELETE FROM [지우고 싶은 테이블 명] WHERE [컬럼 명] = '[컬럼]';
즉 DELETE FROM bbs.user WHERE userID = 'gildong';

이렇게 해보니 gildong이라는 데이터가 지워지는 것을 확인할 수 있었다.

(물론 위 사진은 전체 데이터를 지우려고 특정 컬럼을 선택하진 않았다.)

데이터가 깔끔히 지워진 모습이다.

 

 

처음 접하는 SQL이라면 굉장히 헷갈릴 수 있겠다고 생각했다.

테이블의 개념을 다시 공부하고 접근하면 좋을 것 같다.

 

============================================================================

요약

1. 테이블 내에 있는 데이터를 지우고 싶을 땐 

DELETE FROM [테이블 명] WHERE [컬럼 명] = [컬럼];

2. ERROR 1064(42000) 에러가 뜬다면 구문이 잘못된 것이니 다시 한번 생각해보자

 

3. 본인의 경우에는 테이블 명을 잘못 입력해서 나온 에러였다.

 

끝!

반응형