«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

올해는 머신러닝이다.

안드로이드 테이블 존재여부 확인하기 - Sqlite mater table query 본문

Android/Tip&Tech

안드로이드 테이블 존재여부 확인하기 - Sqlite mater table query

행복한 수지아빠 2010. 11. 22. 15:22

출처 : http://blog.naver.com/oh4zzang


안드로이드 테이블 존재여부 확인하기 - Sqlite mater table query

 

 

안드로이드 sqlite에서 다음과 같이, master table 에 접근해 해당 table 존재 여부를 알 수 있다. 

다음은 SQLiteDatabase를 이용한 간단한 로그 찍어 테이블 이름을 확인하는 쿼리다~~


      Cursor c = db.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null);
      if(c.moveToFirst()) {
       for(;;) {
        Log.e(TAG, "table name : " + c.getString(0));        
        if(!c.moveToNext())
         break;
       }
      }

 

 

    특정 테이블에 대해서 존재하는지 알기 위해서는 SELECT 문을 아래와 같이 하면 된다~


 

"SELECT name FROM sqlite_master WHERE type='table' AND name ='테이블명'

 

 

    테이블 생성 시 존재여부를 따로 쿼리해보고 테이블 생성하는 것이 귀찮게 느껴진다면,

    아래처럼 테이블 생성시 CREATE문에 "CREATE TABLE IF NOT EXISTS" 이렇게 해주면~

    테이블이 이미 존재한다면 테이블을 생성하지 않는다. >0<


String sql = "CREATE TABLE IF NOT EXISTS " + "테이블 명"+ " (_id integer primary key autoincrement, " + "column 명..)";
db.execSQL(sql);

 

logcat으로 찍어본 결과는 아래와 같다~~

밑에 2개의 테이블은 현재 프로젝트와 연관있는 이름들이라~ 모자이크 처리 ^^

존재하는 테이블 이름들을 잘 받아오는것을 볼수 있다ㅋ