安卓增删改查用sql语句号码_详解Android中一些SQLite的增删改查操作

本文主要介绍了Android中SQLite数据库的使用,包括增、删、改、查等基本操作。SQLite是一个轻量级数据库,适用于嵌入式设备,提供了NULL, INTEGER, REAL, TEXT, BLOB五种数据类型。示例代码展示了如何操作含有uid列的表,如添加、删除、更新和查询数据。" 52589480,5004735,人体行为识别:特征点提取方法综述,"['计算机视觉', '机器学习', '特征提取', '行为识别', '局部特征']
摘要由CSDN通过智能技术生成

在Android开发中经常要涉及到对数据的操作。Android本身提供了四种数据存储方式。包括:SharePreference,SQLite,Content Provider,File。

在Android,数据都是么私有的,要实现数据共享,正确方式是使用Content Provider。

SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存储方式。Android为此数据库提供了一个名为SQLiteDatabase的类,封装了一些操作数据库的API。

SharedPreference: 除SQLite数据库外,另一种常用的数据存储方式,其本质就是一个xml文件,常用于存储较简单的参数设置。

File:即常说的文件(I/O)存储方法,常用语存储大数量的数据,但是缺点是更新数据将是一件困难的事情。

ContentProvider:Android系统中能实现所有应用程序共享的一种数据存储方式,由于数据通常在各应用间的是互相私密的,所以此存储方式较少使用,但是其又是必不可少的一种存储方式。例如音频,视频,图片和通讯录,一般都可以采用此种方式进行存储。每个Content Provider都会对外提供一个公共的URI(包装成Uri对象),如果应用程序有数据需要共享时,就需要使用Content Provider为这些数据定义一个URI,然后其他的应用程序就通过Content Provider传入这个URI来对数据进行操作。

本文主要是讲一些SQLite的操作并附上代码。

SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是:

NULL:         空值

INTEGER:   整数

REAL:      浮点数

TEXT:      字符串

BLOB:     大数据

在SQLite中,并没有专门设计BOOLEAN和DATE类型,因为BOOLEAN型可以用INTEGER的0和1代替true和false,而DATE类型则可以拥有特定格式的TEXT、REAL和INTEGER的值来代替显示,为了能方便的操作DATE类型,SQLite提供了一组函数,详见:http://www.sqlite.org/lang_datefunc.html,这样简单的数据类型设计更加符合嵌入式设备的要求。

import android.content.ContentValues;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

/**

* 对表的增删改查的操作。这里的表里只有uid一列作为举例。

*/

public class DemoDBUtil {

//要操作的表名

public static final String DEMO_DB_NAME = "demo_db_name";

//SQLiteDatabase对象

private SQLiteDatabase sqLiteDatabase;

/**

* 带参构造方法,初始化SQLiteDatabase。

* @param sqLiteDatabase SQLiteDatabase实例

*/

public DemoDBUtil(SQLiteDatabase sqLiteDatabase){

this.sqLiteDatabase = sqLiteDatabase;

}

/**

* 增加数据。

* @param uid 要新增的uid

*/

public void add(String uid){

ContentValues values = new ContentValues();

values.put("uid", uid);

sqLiteDatabase.insert(DEMO_DB_NAME, null, values);

}

/**

* 删除表里所有数据。

*/

public void delete(){

sqLiteDatabase.delete(DEMO_DB_NAME, null, null);

}

/**

* 删除表里与uid对应的数据。

* @param uid 某个uid

*/

public void delete(String uid){

sqLiteDatabase.delete(DEMO_DB_NAME, "uid = ? ", new String[]{uid});

}

/**

* 更新表,将表所有uid替换为newUid。

*/

public void update(){

ContentValues values = new ContentValues();

values.put("uid", "newUid");

sqLiteDatabase.update(DEMO_DB_NAME, values, null, null);

}

/**

* 将表里对应的uid替换为newUid。

* @param uid 表里的某个uid

*/

public void update(String uid){

ContentValues values = new ContentValues();

values.put("uid", "newUid");

sqLiteDatabase.update(DEMO_DB_NAME, values, "uid = ? ", new String[]{uid});

}

/**

* 查询表里所有数据,取得uid对应的值。

*/

public void query(){

Cursor cursor = sqLiteDatabase.query(DEMO_DB_NAME, null, null, null, null, null, null);

while (cursor.moveToNext()) {

String uid = cursor.getString(cursor.getColumnIndex("uid"));

}

if (null != cursor) {

cursor.close();

}

}

/**

* 取得对应uid的值。

* @param uid 表里的某个uid

*/

public void query(String uid){

Cursor cursor = sqLiteDatabase.query(DEMO_DB_NAME, null, "uid = ? ", new String[]{uid}, null, null, null);

while (cursor.moveToNext()) {

String queryUid = cursor.getString(cursor.getColumnIndex("uid"));

}

if (null != cursor) {

cursor.close();

}

}

/**

* 取得最后一条记录。

*/

public void queryLastRecord(){

String lastTimeSql = "select * from demo_db_name order by id desc LIMIT 1";

Cursor cursor = sqLiteDatabase.rawQuery(lastTimeSql, null);

while (cursor.moveToNext()) {

String queryUid = cursor.getString(cursor.getColumnIndex("uid"));

}

if (null != cursor) {

cursor.close();

}

}

}

上文主要是针对表的一个简单的增删改查的操作,可以根据实际情况修改来满足项目的需要。

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值