Android SQLite 数据存储

SQLite是一个轻量级的数据库,在android上就是使用了该数据库,一个数据库文件即代表了一个数据库,sql语法和mysql基本一样吧,表达方式不同而已

获得SQLiteDatabase 对象

SQLiteDatabase的方法

static SQLiteDatabase openDatabase(String path,SQLiteDatabase.CursorFactory factory,int flags)

e:  SQLiteDatabase db = SQLiteDatabase.openDatabase(path,factory,flags);  //即打开path代表的路径文件

static SQLiteDatabase openOrCreateDatabase(File file,SQLiteDatabase.CursorFactory factory)

e:  SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(mFile,factory);    //即打开mFile对应的数据库文件啦,如果该文件不存在则创建一个

static SQLiteDatabase openOrCreateDatabase(String path,SQLiteDatabase.CursorFactory factory);

e:  SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabaes(mPath,factory);    //即打开mPath对应的数据库文件了,如果该文件不存在则创建一个

======================================================================================================

SQLiteDatabase提供了操作数据库的几个方法

execSQL(String sql,Object[] objs);  //带占位符的执行sql语句

exexSQL(String sql);       //直接执行sql语句

insert(String table_name, String nullColumn, ContentValues values);  //执行sql插入语句

delete(String table_name, String where,String[] whereArgs);      //删除

update(String table_name, ContentValues values, String where, String[] whereArgs);  //更新

for example:

name age
admin   20

db.execSQL("select * from table_name where id > ?", new int[] {10});  //?表示带占位符的,占位符要和后面的数组类型一致,顺序一致

db.execSQL("select * from table_name where id > 10")  //和第一条句子一样   相当于 mysql 语句中执行  select * from table_name where id > 10;

似乎只要用execSQL(xc);这句话就基本解决了所有的需要了...增删改查...

ContentValues values = new ContentValues();   

values.put("name","admin");  

values.put("age","20");        //values.put(columnName,value);==>Map.put(key,value);

db.insert(table_name,null,values);  //在table_name表中插入记录,列名为name = 值admin  age = 20

//等价于 insert into table_name (name,age) values ("admin",20);

 

db.delete("table_name","name like",new String[] {"a%"});    //删除name列值以a开头的一行记录 ==>   delete table_name where name like "a%";

values.put("age","25");

db.update("table_name",values,"age =",new String[] ("20");   //更新age = 20 的记录,修改的值放在values中  ==>update table_name set age = 25 where age  =20;

如有雷同,纯属意外! good good study,day day up! go,go,go!
原文地址:https://www.cnblogs.com/act262/p/3175275.html