Android 判断数据库中是否存在某个表

public boolean tabIsExist(String tabName){
            boolean result = false;
            if(tabName == null){
                    return false;
            }
            Cursor cursor = null;
            try {
                   
                    String sql = "select count(*) as c from sqlite_master where type ='table' and name ='"+tabName.trim()+"' ";
                    cursor = dbInfo.rawQuery(sql, null);
                    if(cursor.moveToNext()){
                            int count = cursor.getInt(0);
                            if(count>0){
                                    result = true;
                            }
                    }
                    
            } catch (Exception e) {
                    // TODO: handle exception
            }                
            return result;
    }

 

 

对sqlite_master表查询不但可以得到建表的sql语句,还可以获取该数据库内的trigger信息

 

而在纯Java环境下对SQL数据库查询是否目标表格存在的时候可以更简单:

 

java.sql.Connection con = getYourConnection(); 
   
ResultSet rs = con.getMetaData().getTables(null, null, "yourTable", null );
if (rs.next()) {
//yourTable exist
}else {
//yourTable not exist
}
原文地址:https://www.cnblogs.com/Free-Thinker/p/5573558.html