안드로이드 SQLite 데이터 삭제 방법(DELETE 문) : 총정리
SQLite 사용시 테이블 삭제 스크립트는 다음과 같다. 테이블의 데이터를 삭제하고 할 경우 Delete문을 사용하여 삭제가 가능하다. SQLIte는 Truncate 문을 지원하지 않는다. 그럼으로 모든 데이터를 삭제하는 방법뿐이다. 그러나 저러나 왜 Truncate문을 지원하지 않는걸까??
■샘플 스크립트1 : 테이블의 PK값을 기준으로 삭제하는 방법
public static void deleteTbMyNumber(SQLiteDatabase database, int id){
database.execSQL("DELETE FROM TB_LOTTO_MY_NUMBER WHERE event_id =" + id );
}
■샘플 스크립트2 : 테이블 전체 데이터를 삭제하는 방법
public static void deleteAllMyNumber(SQLiteDatabase database){
database.execSQL("DELETE FROM TB_LOTTO_MY_NUMBER ");
}
■샘플 스크립트3 : 특정 날짜를 기준으로 삭제하는 방법
public static void delete(SQLiteDatabase database){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1); // 하루 전 날짜
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String pDate = sdf.format(cal.getTime());
database.execSQL("DELETE FROM TB_CHARGE_HISTORY WHERE _start_date <"
+ "'" + pDate + " 00:00:00'");
}
■샘플 스크립트4 : LIKE문을 사용하는 방법
public static void deleteTbMyNumber(SQLiteDatabase database, String param){
database.execSQL("DELETE FROM TB_USER_INFO WHERE user_name LIKE '%param%'" );
}
■샘플 스크립트5 : OR문을 사용하는 방법
public static void deleteTbMyNumber(SQLiteDatabase database, int id, int id2){
database.execSQL("DELETE FROM TB_LOTTO_MY_NUMBER
WHERE event_id =" + id + " OR event_id= " + id2 );
}
■데이터베이스 초기화 방법은 아래 링크를 참고
1. 안드로이드 SQLite 사용을 위한 SQLiteOpenHelper 커스터마이징
2. 안드로이드 SQLite 테이블 생성 방법(CREATE TABLE)
3. 안드로이드 SQLite 데이터 추가 방법(INSERT문)
4. 안드로이드 SQLite 데이터 변경 방법(UPDATE문)
[SQLITE 테스트하기]