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(提供了非常方便的方式来创建数据库和表)配合使用。


你可能感兴趣的:(sqlite)