sqlite增删查改

1、首先创建一个数据库

//打开或创建test.db数据库
final SQLiteDatabase db = openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null);
如果没有此数据库,则创建;如果已经存在此数据库,则打开

2、判断此数据库里面是否有此表

public boolean tableIsExist(SQLiteDatabase db,String tableName) {
    boolean result = false;
    if (tableName == null) {
        return false;
    }
    Cursor cursor = null;
    try {
        String sql = "select count(*) as c from sqlite_master where type ='table' and name ='" + tableName.trim() + "' ";
        cursor = db.rawQuery(sql, null);
        if (cursor.moveToNext()) {
            int count = cursor.getInt(0);
            if (count > 0) {
                result = true;
            }
        }
    } catch (Exception e) {}
    return result;
}
说明:sqlite_master是sqlite的系统表;type字段是table ; name是表的名字;所以,你需要传入你的表名,来查询是否存在此表

3、创建表

//创建tablenamedb.execSQL("CREATE TABLE tablename (oid VARCHAR, paymoney VARCHAR, time VARCHAR)");
为什么先要判断此表是否存在呢?因为,直接创建表,如果不存在,就创建表;如果已经存在此表,那么程序会报错

VARCHAR,相信有sql语言基础的人,都知道是字符串类型。这里的VARCHAR类型,可以存储很长的字符,亲测。

4、插入数据

//插入数据
db.execSQL("INSERT INTO tablename VALUES (?, ?, ?)", new Object[]{"oid123", "50.00" , "2017-03-09 12:00:00" });
5、修改一条记录

//修改一条记录
ContentValues cv = new ContentValues();//实例化ContentValues
cv.put("time", "2017-03-09 12:10:10");//更改的字段及内容
String whereClause = "oid=?";//修改条件
String[] whereArgs = {"oid123"};//修改条件的参数
db.update("tablename", cv, whereClause, whereArgs);//执行修改
看得出来,当oid = oid123的时候,把time修改了

6、删除一条记录

//删除一条记录
String whereClause = "oid=?";//删除的条件
String[] whereArgs = {"oid123"};//删除的条件参数
db.delete("tablename",whereClause,whereArgs);//执行删除
这也很明显,当oid = oid123的时候,删除此条记录

7、删除表中数据

//删除表中所有数据,表还存在
db.execSQL("delete from tablename");
此删除语句,只是删除了表中的所有数据,表还存在

8、查询表中所有数据

        //查询获得游标
    Cursor cursor = db.query("tablename", null, null, null, null, null, null);
        //遍历游标
    for (int i = 0; i < cursor.getCount(); i++) {
            if (cursor.moveToFirst()) {
                cursor.move(i);
                String oid = cursor.getString(0);
                String paymoney = cursor.getString(1);
                String time = cursor.getString(2);
            }
        }
        cursor.close();
        db.close();
说明:查询字段下标从0开始;查询完后,记得关闭cursor和db











猜你喜欢

转载自blog.csdn.net/ming_csdn_/article/details/60965570