安卓端对mysql增删改查_android 对sqlite数据库的增删改查

android平台下数据库的一些概念

Sqlite是android平台的一款轻量级的、嵌入式的、关系型数据库产品,以下是一些主要概念。

1.Sqlite通过文件保存数据库,创建的数据库文件默认存在在/data/data//databases/的文件

夹下,一个文件就是一个数据库。

2.一个数据库包含多个表格,一个表格包含不同的字段,字段类型等等,这与SQL数据库相似。

3.Sqlite记录没有顺序的概念,不存在第一第二类的概念,通过查询获取满足条件的记录。

android平台下操作数据库的的相关类

(1.)SQLiteOpenHelper 抽象类,用于创建和管理数据库以及版本,需要创建一个子类继承,该类封装

了对数据库操作的基本方法,使用方便。

(2.)SQLiteDatabase 数据库访问了,主要是对数据库的增删改查等常用操作,功能比

SQLiteOpenHelper丰富,比如事务管理,分页等等。

(3.)Cursor游标类,主要用来返回返回查询记录结果

SQLiteOpenHelper 类使用方法比较少,网上介绍也比较多,本程序主要采用SQLiteDatabase类操作数

据库,介绍android 平台下Sqlite的多种使用方法。主要功能如图-1界面所示。

745e4db9c26c0e6148bc02b91100540e.png

图-1 Sqlite数据库界面的操作及其功能

bafa43ee388389638440d197a2cf8040.png

图-2 创建的数据库截图

源码下载:Sqlite.zip

1.对数据库的操作

(1.)创建一个数据库

//在文件夹/data/data//databases/创建一个students.db的数据库

//该类返回一个SQLiteDatabase,对那个数据库操作,就要打开该数据库

openOrCreateDatabase("students.db",SQLiteDatabase.CREATE_IF_NECESSARY,null);

(2.)删除一个数据库

//在Context环境中,删除students.db,该方法返回一个boolean类型

deleteDatabase("students.db");

(3.)获取应用程序所有数据库的名称

//在Context环境中,获取该应用程序的所有数据库名称(即databases文件夹下的数据库文件)

//该方法返回一个字符串数组

databaseList()

(4.)重命名一个数据库

//将数据库data.db重命名为renamedata.db

File f = getDatabasePath("data.db");

File renameFile=getDatabasePath("renamedata.db");

f.renameTo(renameFile);

2.对表的操作

(1.)创建一个表(sql语句中创建)

mDb.execSQL("create table if not exists "+table+

" (id integer primary key autoincrement, "

+ "username text not null, info text not null);");

(2.)删除一个表

mDb.execSQL("drop table if exists "+ table);

(3.)修改表

Sqlite是不能修改一个表的字段,不能删除一个表的字段,但是可以重命名一个表的名称,可以添加一

个字段及其属性

1.)重命名表

mDb.execSQL("alter table "+ oldTable +" rename to  "+ newTableName+";");

2.)添加一列

mDb.execSQL("alter table  "+ table +" add column "+ column +  type +" ;");

(4.)获取一个数据库的所有表的名称

mDb.rawQuery("select name from sqlite_master where type='table' order by name",null);

3.对数据库记录的操作

(1.)添加一条记录

ContentValues values =newContentValues();

values.put("username", user.getUsername());

values.put("info", user.getInfo());

mDb.insert(table, null, values);

(2.)删除一条记录

String whereClause ="id=?";

String[] whereArgs = newString[] {String.valueOf(id)};

mDb.delete(table, whereClause, whereArgs);

(3.)修改一条记录

ContentValues values =newContentValues();

values.put("username", username);

values.put("info", info);

String whereClause = "id=?";

String[] whereArgs = newString[] { String.valueOf(id) };

mDb.update(table, values, whereClause, whereArgs);

(4.)查询一条数据

String[] columns =newString[] {"id","username","info"};

String selection = "id=?";

String[] selectionArgs = { String.valueOf(id) };

String groupBy = null;

String having = null;

String orderBy = null;

mDb.query(table, columns, selection,selectionArgs, groupBy, having, orderBy);

(5.)查询所有记录

mDb.rawQuery("select * from "+table,null);

SqliteActivity源码类如下(注意:在点击对数据记录的增删改查时要先create table ,否则会因为无法找到mytable表而报错)

SqliteActivity.java

packagecom.sqlite.main;

importjava.io.File;

importandroid.app.Activity;

importandroid.content.ContentValues;

importandroid.database.Cursor;

importandroid.database.SQLException;

import

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值