728x90
alter table [table_name] auto_increment = 1;
SQL DELETE 문 사용
SQL DELETE문은 테이블에서 행을 삭제할 때 사용한다.
SQL DELETE Syntax
DELETE FROM table_name
WHERE some_column=some_value;
WHERE some_column=some_value;
주의! 만약 WHERE문을 생략한다면 모든 레코드들이 지워질 수도 있다.
DELETE FROM Customers
WHERE CustomerName='Alfreds Futterkiste' AND ContactName='Maria Anders';
(해석) Customers테이블에서 CustomerName이 'Alfreds Futterkiste' 이면서 ContactName='Maria Anders'인 행을 지워라.
만약 모든 레코드들을 지우고 싶다면
DELETE FROM table_name;
or
DELETE * FROM table_name;
행을 삭제하고 나서 해야 할 일은 auto_increment 값을 재 조정 해주는 것이다
그렇지 안으면 최근 자료의 마지막 키값부터 이어서 시작한다.
auto_increment 속성 1부터 시작하게 초기화하기 (데이터가 없을 경우)
alter table [table_name] auto_increment = 1;
auto_increment 속성 1부터 시작하게 초기화하기 (데이터가 있을 경우)
table_name 양옆의 기호는 `(grave) 이다.
set @count = 0;
update `[table_name]` set [auto_increment_column_name] = @count:=@count+1;
mysql 여러 튜플 삭제
delete from ABCDE where no='3'
'ABCDE' 테이블에서 'no' 컬럼값이 '3' 인 레코드를 전부 삭제한다.
delete from ABCDE where no>3
'ABCDE' 테이블에서 'no' 컬럼값이 '3' 보다 큰 레코드를 전부 삭제한다.
delete from ABCDE where no<>3
'ABCDE' 테이블에서 'no' 컬럼값이 '3' 이 '아닌' 레코드를 전부 삭제한다.
delete from ABCDE where wdate>32015467 order by no limit 30
'ABCDE' 테이블에서 'wdate' 컬럼값이 '32015467' 보다 큰 레코드를 'no' 컬럼값을 기준으로
정렬시켜서 상위 30 개를 삭제한다.
delete from ABCDE where tbody like '%무료동영상%'
'ABCDE' 테이블에서 'tbody' 컬럼값에 '무료동영상' 이란 단어가 포함된 레코드를 전부 삭제한다.
delete from ABCDE where tbody like '%무료동영상%' or subject like '%광고%'
'ABCDE' 테이블에서 'tbody' 컬럼값에 '무료동영상' 이란 단어가 포함되어 있거나
'subject' 컬럼값에 '광고' 라는 단어가 포함된 레코드를 전부 삭제한다.
'my_lesson > _SQL' 카테고리의 다른 글
SQL - INSERT INTO (0) | 2016.02.25 |
---|---|
SQL - UPDATE (1) | 2016.02.25 |
SQL - Injection (0) | 2016.02.25 |
SQL - LIKE (0) | 2016.02.25 |
SQL - IN (0) | 2016.02.25 |
댓글