sqlite 增删改查附代码
一、进入数据库 命令行输入下列命令进入数据库 1.adb 2.adb shell 3.cd data 4.cd data 5.cd [包名] 6.创建数据库后 7.cd databases 8.sqlite3 [数据库名] 即数据库存放在/data/data/[包名]/databases/路径下 常用命令 .schema 查看当前数据库中有哪些表 查看表中数据 select * from [tablename]; 二、知识点 1、public void execSQL(String sql); 执行单个SQL语句,但不能执行SELECT和其他有返回值的SQL语句; 2、SQL语句 语句:create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 说明:tabname——表名,col1,col2——字段名(即列名),not null——该字段非空,primary key——主键(某条记录的唯一标识符)。 3、public long insert (String table,String nullColumnHack,ContentValues values) 注:插入记录,table——表名,nullColumnHack——强行插入null值的字段(列名),values——一行记录的数据。 4、public int update (String table,ContentValues values,String whereClause,String[] whereArgs) 注:更新数据库中数据;table——想要更新的表名,values——想要更新的数据,whereClause——满足该whereClause子句的记录将会被更新,whereArgs——为whereClause传入参数。(可理解为:在表table中,根据whereClause和whereArgs查找出数据,更新为values) 如:更新person_inf表中所有主键大于20的人的人名, ContentValues values = new ContentValues(); values.put(“name”,“新人名”); int result = db.update(“person_inf”,values,”_id > ?”,new Integer[]{20}); 5、public Cursor query (String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy) 注:查询,详情见帮助。 6.SQLiteOpenHelper类中的onCreate方法 public abstract void onCreate (SQLiteDatabase db); 当调用SQliteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获取用于操作数据库的SQLiteDatabase实例时,如果数据库不存在,Android系统会自动生成一个数据库,接着调用onCreta方法,onCreate方法在初次生成数据库时才被调用。 即:getWritableDatabase()、getReadableDatabase()在获取实例时,数据库不存在则创建,存在则不创建;而onCreate方法是第一次创建时自动调用的方法。因此,可重写该方法初始化数据表结构及数据等。 三、数据库版本version必须是正数!
四、掌握数据库操作的两个类SQLiteDatabase和SQLiteOpenHelper即可! 五、再理解数据库和表的创建
六、实例代码 package com.lucus.erseventh; import android.content.ContentValues; public class DatabaseHelper extends SQLiteOpenHelper{ /**删除数据库?*/ public boolean deleteDBByName(String DBName) { Context context = null; context.deleteDatabase(DBName); return false; } /**删除数据库?*/ /**获取游标*/ public Cursor getCursor() { SQLiteDatabase db=this.getWritableDatabase(); Cursor cursor=db.query(TABLE_NAME,null); return cursor; } /**获取游标*/ /**查询,查询FIELD_ID为id的记录*/ public Cursor query(int id) { SQLiteDatabase db = this.getWritableDatabase(); String where = FIELD_ID + "=?"; String[] whereValue = {Integer.toString(id)}; Cursor cursor = db.query ( TABLE_NAME,new String []{"_id","eventName","remindTime"},whereValue,null ); return cursor; } /**查询,查询FIELD_ID为id的记录*/ @Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) { // TODO Auto-generated method stub } }//end class DatabaseHelper (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |