zoukankan      html  css  js  c++  java
  • 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!
  • 相关阅读:
    EF--CodeFirst
    一个很吊的文章---框架
    EF的代码优先设计
    MVC3--View层
    asp.net返回值当文件下载问题
    MVC源码
    编译原理
    TPatch动态补丁系统(iOS)
    浅析分布式系统
    如何在腾讯云快速构建一个Wordpress个人站点
  • 原文地址:https://www.cnblogs.com/act262/p/3175275.html
Copyright © 2011-2022 走看看