SQLite数据库操作
安卓中创建数据库的步骤:
1、写一个类MyOpenHelper继承SQLiteOpenHelper类
2、覆写其中的OnCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
3、创建数据库:
MyOpenHelper helper = new MyOpenHelper(this);//创建数据库 需要调用 getReadableDatabase 或 getWritableDatabasehelper.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
官方提供的安卓操作数据库的方法:
查源码得该方法的低层是组拼了一个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 进行判断if (cursor!=null && cursor.getCount()>0) {//循环取所有数据while(cursor.moveToNext()){}}
/*** 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). |


浙公网安备 33010602011771号