Android(安卓)数据库SQLite的操作总结
16lz
2022-04-04
1.Android数据库的创建,继承SqliteOpenHelper
public
class
DatabaseHelper
extends
SQLiteOpenHelper {
private
static
final
String DB_NAME =
"mydata.db"
;
//数据库名称
private
static
final
int
version =
1
;
//数据库版本
public
DatabaseHelper(Context context) {
super
(context, DB_NAME,
null
, version);
// TODO Auto-generated constructor stub
}
@Override
public
void
onCreate(SQLiteDatabase db) {
String sql =
"create table user(username varchar(20) not null , password varchar(60) not null );"
;
db.execSQL(sql);
}
@Override
public
void
onUpgrade(SQLiteDatabase db,
int
oldVersion,
int
newVersion) {
// TODO Auto-generated method stub
}
}
2.SqliteOpenHelper帮助类的介绍
用来管理数据库的创建和版本的更新。一般是建立一个类继承它,并实现它的onCreate和onUpgrade方法。
其中getReadableDatabase()和getWritableDatabase()都是用来生成一个数据库操作类的实例,两者生成的对象都可以对数据库进行读写的操作,区别在于当磁盘满了的时候read还可以继续以只读方式打开数据库进行访问,而write则会报错
1 2 3 | DatabaseHelper database = new DatabaseHelper( this ); //这段代码放到Activity类中才用this SQLiteDatabase db = null ; db = database.getReadalbeDatabase(); |
3.关于SqliteOpenHelper和SqliteDatabase之间的关系
SqliteDatabase没有提供构造函数,不能直接使用,需要通过SqliteOpenHelper.getReadalbeDatabase()两种方法获取到实例
使用Context.openOrCreateDatabase 与 SQLiteDatabase.openOrCreateDatabase两者都可以进行数据库的创建
4.数据库的增删改查操作
数据的添加
1.使用insert方法
1 2 3 | ContentValues cv = new ContentValues(); //实例化一个ContentValues用来装载待插入的数据cv.put("username","Jack Johnson");//添加用户名 cv.put( "password" , "iLovePopMusic" ); //添加密码 db.insert( "user" , null ,cv); //执行插入操作 |
2.使用execSQL方式来实现
1 2 | String sql = "insert into user(username,password) values ( 'Jack Johnson' , 'iLovePopMuisc' ); //插入操作的SQL语句 db.execSQL(sql); //执行SQL语句 |
数据的删除
同样有2种方式可以实现
1 2 3 | String whereClause = "username=?" ; //删除的条件 String[] whereArgs = { "Jack Johnson" }; //删除的条件参数 db.delete( "user" ,whereClause,whereArgs); //执行删除 |
使用execSQL方式的实现
1 2 | String sql = "delete from user where username='Jack Johnson'" ; //删除操作的SQL语句 db.execSQL(sql); //执行删除操作 |
数据修改
同上,仍是2种方式
1 2 3 4 5 | ContentValues cv = new ContentValues(); //实例化ContentValues cv.put( "password" , "iHatePopMusic" ); //添加要更改的字段及内容 String whereClause = "username=?" ; //修改条件 String[] whereArgs = { "Jack Johnson" }; //修改条件的参数 db.update( "user" ,cv,whereClause,whereArgs); //执行修改 |
使用execSQL方式的实现
1 2 | String sql = "update [user] set password = 'iHatePopMusic' where username='Jack Johnson'" ; //修改的SQL语句 db.execSQL(sql); //执行修改 |
更多相关文章
- android SQLiteDatabase之一
- Android之关于手势操作图片的缩放与移动
- Android中CheckBox复选框操作
- 自己写的Android(安卓)Contacts操作类,以后还会补充
- android SpannableString使用详解
- java.util.ConcurrentModificationException 解决 Android
- Android中对Group的各种操作示例代码
- 编译Android时,添加或者删除system.img中第三方apk、更改Android
- Android创建和删除桌面快捷方式