android数据库sqlite基本操作。
2016-04-13 13:24
543 查看
Android使用开源的、与操作系统无关的SQL数据库—SQLite。它是一款轻量级数据库,只需要几百K的内存就够了,无需单独安装。
一 扩展类
SQLiteOpenHelper
1 Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 的子类,至少需要实现三个方法:
构造函数,调用父类 SQLiteOpenHelper 的构造函数
onCreate()方法;// TODO 创建数据库后,对数据库的操作
onUpgrage()方法。// TODO 更改数据库版本的操作
当你完成了对数据库的操作(例如你的 Activity 已经关闭),需要调用 SQLiteDatabase 的 Close() 方法来释放掉数据库连接。
操作数据库的最佳实践是创建一个辅助类,例如联系人模块
class ContactsDatabaseHelper extends SQLiteOpenHelper
2 Cursor类
Android使用Cursor类返回一个需要的值,Cursor作为一个指针从数据库查询返回结果集,使用Cursor允许Android更有效地管理它们需要的行和列,你使用ContentValues对象存储键/值对,它的put()方法允许你插入不同数据类型的键值。
二 Sqlite数据库基本语句
<1>
下面我们来创建一个名为Test的数据库,并返回一个SQLiteDatabase对象mSQLiteDatabase。
创建表
通过execSQL方法来执行一条SQL语句。
创建表的时候总要确定一个主键,这个字段是64位整型,别名_id。其特点就是自增长功能(_id INTEGER PRIMARY KEY)。当到达最大值时,会搜索该字段未使用的值(某些记录被删除_rd会被回收),所以要唯一严格增长的自动主键必须加入关键字autoincrement。
删除表
<2>
修改数据
插入记录
可以使用insert方法来添加数据,但是insert方法要求把数据都打包到ContentValues中,ContentValues其实就是一个Map,Key值是字段名称,Value值是字段的值。通过ContentValues的put方法就可以把数据放到ContentValues对象中,然后插入到表中去。具体实现如下:
更新记录
删除记录
一 扩展类
SQLiteOpenHelper
1 Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 的子类,至少需要实现三个方法:
构造函数,调用父类 SQLiteOpenHelper 的构造函数
onCreate()方法;// TODO 创建数据库后,对数据库的操作
onUpgrage()方法。// TODO 更改数据库版本的操作
当你完成了对数据库的操作(例如你的 Activity 已经关闭),需要调用 SQLiteDatabase 的 Close() 方法来释放掉数据库连接。
操作数据库的最佳实践是创建一个辅助类,例如联系人模块
class ContactsDatabaseHelper extends SQLiteOpenHelper
2 Cursor类
Android使用Cursor类返回一个需要的值,Cursor作为一个指针从数据库查询返回结果集,使用Cursor允许Android更有效地管理它们需要的行和列,你使用ContentValues对象存储键/值对,它的put()方法允许你插入不同数据类型的键值。
二 Sqlite数据库基本语句
<1>
下面我们来创建一个名为Test的数据库,并返回一个SQLiteDatabase对象mSQLiteDatabase。
mSQLiteDatabase=this.openOrCreateDatabase("Test",MODE_PRIVATE,null);
创建表
通过execSQL方法来执行一条SQL语句。
String CREATE_TABLE="create table 表名(主键(_id),列名,列名,……)";
mSQLiteDatabase.execSQL(CREATE_TABLE);
创建表的时候总要确定一个主键,这个字段是64位整型,别名_id。其特点就是自增长功能(_id INTEGER PRIMARY KEY)。当到达最大值时,会搜索该字段未使用的值(某些记录被删除_rd会被回收),所以要唯一严格增长的自动主键必须加入关键字autoincrement。
删除表
mSQLiteDatabase("drop table 表名");
<2>
修改数据
插入记录
可以使用insert方法来添加数据,但是insert方法要求把数据都打包到ContentValues中,ContentValues其实就是一个Map,Key值是字段名称,Value值是字段的值。通过ContentValues的put方法就可以把数据放到ContentValues对象中,然后插入到表中去。具体实现如下:
ContentValues cv=new ContentValues(); cv.put(TABLE_NUM,1); cv.put(TABLE_DATA,"测试数据库数据"); mSQLiteDatabase.insert(Test,null,cv); //同样可以使用execSQL方法来执行一条“插入“的SQL语句 String INSERT_DATA="insert into 表名(列名,……) values (值,……)"; mSQLiteDatabase.execSQL(INSERT_DATA);
更新记录
ContentValues cv=new ContentValues(); cv.put(TABLE_NUM,3); cv.put(TABLE_DATA,"修改后数据"); mSQLiteDatabase.update(Test,cv,"num"+"="+rowId,null); //同样可以使用execSQL方法来执行一条“更新”的SQL语句 String UPDATE_DATA="update 表名 set 列名=xxx where xxx; mSQLiteDatabase.execSQL(UPDATE_DATA);
删除记录
//要删除数据可以使用delete方法 mSQLiteDatabase.delete("Test","WHERE _id="+0,null); //也可以通过execSQL方法执行SQL语句删除数据 mSQLiteDatabase.execSQL("delete from 表名 where 条件");
相关文章推荐
- android沉浸式开发
- Android studio继承BaseAdapter时不自动出现getCount等方法
- 解决android studio模拟器“is currently running"的方法
- Android自定义View — 用Canvas画带动画的渐变数字圆环
- android webview js alert对话框 不能弹出 解决办法
- android中xml tools属性详解
- 主动通知Android系统图库进行更新
- 【Android】虚拟环绕声
- Android Studio调试功能使用总结
- Android 中View类DrawingCache的使用
- android事件关系分析图解
- Android 生成keystore,两种方式
- Illegal resource reference: @*android resources are private and not always present 解决方案
- android的Bundle
- android学习12——重载SurfaceView一些方法的执行顺序
- Gradle下载的依赖包位置
- Android中Listview实现分页加载效果OnScrollListener
- Android开发 debug的使用
- Android一个ListView列表之中插入两种不同的数据
- 关于android混淆