SQLite支持的数据类型:(5种)
NULL(空),INTEGER(整型),REAL(浮点型),TEXT(字符串),BLOB(二进制对象)
当数据插入到数据库时,如果数据类型与上述5中类型不匹配,SQLite会根据数据类型自动判断并进行转换
SQLite没有用户的概念,根据文件系统的权限确定数据库的权限
Android中SQLite的使用步骤:
1.创建并打开数据库
SQLiteDatabase dataBase = openOrCreateDatabase(name,mode,cursorfactory);//如果没有数据库,创建并打开,如果有数据库,直接打开
2.执行SQL语句
dataBase.execSQL("create table if not exists usertable(_id interger primary key autoincreatment,name text not null,age interger not null)");
//创建表,主键为_id方便使用适配器
dataBase.execSQL("insert int usertable(name,age) values ('emmy',25)");//插入数据
Cursor cursor = dataBase.rawQuery("select * from usertable",condition);//查询,condtion 为条件,返回cursor游标
cursor.getInt(cursor.getColumnIndex("_id"));//取得第一条数据的_id的值,可以通过moveToNext()来让游标后移
...
cursor.close();//当游标中数据量较大时需要及时释放内存
通过内置函数操作数据库:
ContentValues values = new ContentVaules();//和hashMap类似
values.put("name","lucy");//key 必须和表字段相同
dataBase.insert(tablename,默认值,values); //插入到数据库,返回一个long的行数
values.clear();// 清空contentvalues可以再次使用
values.put("name","xu");
dataBase.update(tablename,values,"_id>?",new String[]{"3"});//将id>3的name修改为xu,delete和update相似
SQLite帮助类SQLiteOpenHelper:
建立继承SQLiteOpenHelper的一个类,并重写onCreate()和onUpgrade()方法
onCreate(SQLiteDatabase db) //创建数据可时调用,若数据库已存在,不调用,一般建库是建表写在里面
onUpgrade(db,oldVersion,newVersion) //版本更新时调用 一般更新和备份数据库写在里面
getReadableDatabase() //创建或打开一个只读数据库
getWritableDatabase() //创建或打开一个读写数据可
SQLiteDataBase常用方法总结:
db.execSQL(sql); //执行任何sql语句
db.insert(table,nullColumHack,values);
db.delete(table,whereClause,whereArg);
db.update(table,values,whereClause,whereArgs);
db.query(table,columns,selection,selectionArgs,groupBy,having,orderBy);
db.rawQuery(sql,selectionArgs);