首页 > 代码库 > SQLite数据库操作
SQLite数据库操作
安卓中创建数据库的步骤:
1、写一个类MyOpenHelper继承SQLiteOpenHelper类
2、覆写其中的OnCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
3、创建数据库:
MyOpenHelper helper = new MyOpenHelper(this);
//创建数据库 需要调用 getReadableDatabase 或 getWritableDatabase
helper.getReadableDatabase();//返回的数据类型为
SQLiteDatabase可以将其传给OnCreate(SQLiteDatabase db)
注:OnCreate(SQLiteDatabase db)是在数据库创建的时候调用的,主要用来初始化数据表结构和插入数据初始化的记录
onUpGrade是在数据库版本升级的时候调用的,主要用来改变表结构
安卓中的增删改查操作:在android应用程序中使用db.execSQL("sql",bindArgs)操作增删改查语句;
注:db为创建的数据库
public void onCreate(SQLiteDatabase db) {
//注:(_id是google推荐的)
db.execSQL("create table info(_id integer primary key autoincrement,name varchar(20))");
}
常用的数据库操作:
创建表结构:create table person (id integer primary key autoincrement,name varchar(20));
插入:insert into person (name)values("lisi");
查询:select * from person;
更新:update person set name=‘wangwu‘ where id=1
删除:delete from person where id=1
官方提供的安卓操作数据库的方法:
插入:insert(String table, String nullColumnHack, ContentValues values)
注:ContentValues的构造方法中建立了一个构造了一个HashMap集合
查源码得该方法的低层是组拼了一个sql语句并将value
经过查看源码可知,nullColumnHack是在 values为空的时候才用的到,一般情况下我们是不会将values设置为空的所以该参数一般为null
ContentValues values = new ContentValues ();
values.put("name", "张飞");
values.put("number","120");
db.insert(table,null, values);
db.close();
查询:query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
注:columuns表示要查询的列,null表示查询所有
selection表示查询的条件
selectionArgs表示选择条件的参数
groupBy分组、having分组条件、orderBy排序、limit限制
返回值类型为Cursor 注:游标是从上往下逐行扫描
//首先对cursor 进行判断
if (cursor!=null && cursor.getCount()>0) {
//循环取所有数据
while(cursor.moveToNext()){
}
}
删除:delete(String table, String whereClause, String[] whereArgs)
/**
* whereClause 删除条件
* whereArgs 删除条件的参数
*/
int delete = db.delete("info", "name=?", new String[]{name});
eclipse中的代码模板:
得到SQLite数据库的几种常见的方法:
Open the database according to the flags OPEN_READWRITE OPEN_READONLY CREATE_IF_NECESSARY and/or NO_LOCALIZED_COLLATORS . | |
Open the database according to the flags OPEN_READWRITE OPEN_READONLY CREATE_IF_NECESSARY and/or NO_LOCALIZED_COLLATORS . | |
Equivalent to openDatabase(path, factory, CREATE_IF_NECESSARY, errorHandler). | |
Equivalent to openDatabase(path, factory, CREATE_IF_NECESSARY). | |
Equivalent to openDatabase(file.getPath(), factory, CREATE_IF_NECESSARY). |
来自为知笔记(Wiz)
SQLite数据库操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。