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!
  • 相关阅读:
    Elementary Methods in Number Theory Exercise 1.2.25
    Elementary Methods in Number Theory Exercise 1.2.14
    图解欧几里德算法
    图解欧几里德算法
    Elementary Methods in Number Theory Exercise 1.2.14
    Android中的长度单位详解(dp、sp、px、in、pt、mm)
    分享下多年积累的对JAVA程序员成长之路的总结
    android异常之都是deamon惹的祸The connection to adb is down, and a severe error has occured.
    TomatoCartv1.1.8.2部署时报错
    JavaScript浏览器对象之二Document对象
  • 原文地址:https://www.cnblogs.com/act262/p/3175275.html
Copyright © 2011-2022 走看看