Sqlite语句使用

SQLITE_MASTER

sqlite数据库特有的一种表,每一个数据库都会有,它定义了数据库的模式,记录了所有表的索引,可以通过相关语句查询所有表名。
表结构如下:

CREATE TABLE sqlite_master ( 
type TEXT, 
name TEXT, 
tbl_name TEXT, 
rootpage INTEGER, 
sql TEXT 
); 

查询表是否存在

select count(*) from sqlite_master where type=’table’ and name = ‘表名’
如果count大于0,则存在。

Cursor c = db.rawQuery("select count(*)  from sqlite_master where type='table' and name = '你的表名", null);
    if (c != null && c.getCount() > 0) {
      //存在
    }

查询所有表名

select name from sqlite_master where type=’table’ order by name

Cursor cursor = db.rawQuery("select name from sqlite_master where type='table' order by name", null);
    if (cursor != null) {
        while (cursor.moveToNext()) {
            String tableName = cursor.getString(0);
            Log.i("==TAG==", "表名 :: " + tableName);
        }
        cursor.close();
    }

查询某个表所有字段名

Cursor c = db.query(tableName, null, null, null, null, null, null);

Cursor c = db.query(tableName, null, null, null, null, null, null);
    if (c != null) {
        String[] names = c.getColumnNames();
        for (String name : names) {
            Log.i("==TAG==", "# " + name);
        }
        c.close();
    }
    原文作者:我就是非主流
    原文地址: https://www.jianshu.com/p/3c69046043b3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞