mofdan 发表于 2016-11-29 09:21:39

SQLite 数据库操作

package com.sea.weatherdatabase;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class MyDBOpenHelper extends SQLiteOpenHelper{
//onCreate,onUpdate,构造器缺一不可;
public MyDBOpenHelper(Context context, String name, CursorFactory factory,
int version) {
//自动创建一个name数据库,如果存在的话,不再创建
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
//在此创建一个表,如果存在就不再执行。会自动识别
db.execSQL("create table data (" +
"_id varchar(4) not null primary key," +
"code varchar(15) not null," +
"time varcher(15) not null;");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//当版本改变后,执行这个方法。
db.execSQL("drop table user;");
onCreate(db);
}
}



  以上为
SQLiteOpenHelper的创建。



对SQLite的操作:

1. SQLiteOpenHelper   负责对数据库的管理,包括数据库的创建,表的建立,数据库版本的管理;

如果数据库不存在,则创立;如果已经存在了,则该类会自动识别,并且不再创建;

  SQLiteDatabase db = helper.getWritableDatabase();


SQLiteDatabase db = helper.getReadableDatabase();


int     delete(String table, String whereClause, String[] whereArgs)

//方便对数据表操作了,删除行.


long     insert(String table, String nullColumnHack, ContentValues values)

//插入行


Cursor     query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)

//查询,返回一个结果集


int     update(String table, ContentValues values, String whereClause, String[] whereArgs)

对数据库进行更新


void     execSQL(String sql)

//执行sql语句,不能是查询语句


//SQLite是一个很强大的类,几乎可以对数据库做任何操作(因为可以直接执行一个sql语句),但是最好与SQLiteOpenHelper(提供了非常方便的方式来创建数据库和表)配合使用。
  
页: [1]
查看完整版本: SQLite 数据库操作