zoukankan      html  css  js  c++  java
  • android中SQLite的基本操作

    作为一名android初学者,对于如何操作android自带数据库SQLite做出了以下几点简单总结(学习内容主要来源于《android程序设计》):

    1.数据库操作: (1).创建或打开数据库 openDatabase()方法用于打开指定的数据库,该方法有以下三个参数:

    1>.path:用于指定数据库的路径,数据库不存在则会抛出FileNotFoundException异常。

    2>.factory:用于构造查询时的游标,若factory为null,则表示使用默认的factory构造游标。

    3>.flags:指定数据库的打开模式(OPEN_READONLY,OPEN_READWRITE,CREATE_IF_NECESSARY,NO_LOCALIZED_COLLATORS).

    代码如下;SQLiteDatabase sqliteDatabase = SQLiteDatabase.openDatabase("theNew.db",null,NO_LOCALIZED_COLLATORS);

    (2).删除数据库 deleteDatabase("theNew.db");

    (3).关闭数据库 sqliteDatabase.close();

    2.表操作

    (1).创建表 String SQL_CT = "CREATE TABLE student (ID INTEGER PRIMARY KEY,age INTEGER,name TEXT)";

    sqliteDatabase.exec(SQL_CT);

    (2).删除表 String SQL_DROP_TABLE = "DROP TABLE table";

    sqliteDatabase.execSQL(SQL_DROP_TABLE);

    3.记录操作

    (1).插入操作

    1>.insert方法 insert(String table,String nullColumnHack,ContentValues values)

    第一个参数:要插入的数据表的名称

    第二个参数:空列的默认值

    第三个参数:一个封装了列名称和列值的Map,代表一条记录信息。

    代码如下: ContentValues contentValues = new ContentValues();

    contentValues.put("ID",1);

    contentValues.put("age",26);

    contentValues.put("name","studentA");

    sqliteDatabase.insert("student",null,contentValues);

    2>.execSQL方法 String SQL_INSERT = " INSERT INTO student(ID,age,name) values (1,26,'StudentA')";

    sqliteDatabase.execSQL(SQL_INSERT);

    (2).更新记录

    1>.update()方法 update(String table,ContentValues value,String whereClause,String[] whereArgs)

    第一个参数:要更新的数据表的名称

    第二个参数:更新的记录信息ContentValues对象

    第三个参数:更新条件(where语句)

    第四个参数:更新条件值数组。

    修改StudentA的年龄为例(26改为25):

    ContentValues contentValues = new ContentValues();

    contentValues.put("ID",1);

    contentValues.put("age",25);

    contentValues.put("name","studentA");

    sqliteDatabase.update("student",contentValues,"name="StudentA",null);

    2>.execSQL方法 写出相应的SQL语句(参照以上几条).

    (3).查询记录 代码如下:

    public Cursor query(boolean distinct,String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit)

    第一个参数:返回值是否只含有唯一值。

    第二个参数:表名。

    第三个参数:列名称数组

    第四个参数:条件where语句,可含"?"通配符。

    第五个参数:参数数组,可替换"?"通配符

    第六个参数:分组列

    第七个参数:分组条件

    第八个参数:排序类

    第九个参数:分页查询限制

    Cursor游标常用方法:moveToNext(),moveToFirst(),moveToLast().

    (4).删除记录

    1>.delete()方法 delete(String table,String whereClause,String[] whereArgs)

    第一个参数:表名

    第二个参数:删除条件

    第三个参数:删除条件参数数组

    2>.execSQL 使用如上的SQL语句完成

  • 相关阅读:
    物理机装kali复盘
    20179214《网络攻防实践》课下练习
    20179214《网络攻防实践》第三次学习总结
    20179214 2017-2018-2 《密码与安全新技术》第一周作业
    《网络攻防实践》小工具学习
    2017-2018 2 20179214《网络实践攻防》第三周作业(二)
    2017-2018 2 20179214《网络实践攻防》第三周作业(一)
    20179214《网络攻防实践》第二周学习总结
    第一章
    kali-linux简单学习(二)
  • 原文地址:https://www.cnblogs.com/wangsihui1996/p/5355646.html
Copyright © 2011-2022 走看看