ss1573通过本文主要向大家介绍了数据库,安卓数据库等相关知识,希望本文的分享对您有所帮助
1.使用和mysql相似,有四个步骤:1.创建库2.链接登录库3.创建表4.增删改查,主要有两个类一个是
SQLiteOpenHelper,这是一个抽象类,(主要操作1.创建库2.链接登录库)
需要自己写一个子类来继承重写里面的两个方法,和一个构造。
这是构造 第一个参数Context:是一个传进来的。第二个是一个:数据库的名字
第三个工厂直接没有null,第四个版本:数据库版本1
public Mydbhelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
//这是一个父类的接着需要给它传参:
super(context, name, factory, version);
}
下面这个就是创建好了的
SQLiteOpenHelper,接着去data/data/创建一个数据库文件,如果存在则当没发生,如果存在版本不一致ongrade,
public static String name="abc";
public static int version=1;
public Mydbhelper(Context context) {
super(context, name, null, version);
}
如果第一次,调用Oncreate方法
如果不是第一次,版本不一致,调用onupgrade方法
首先看Oncreate方法调用它的时候在第一次创建这个数据库的时候调用
@Override public void onCreate(SQLiteDatabase db) {
//主要是采用sql语句进行创了一个库,然后通过database的execsql进行注入sql语句进行创表,数据初始化
String sql="create table student ( id int(10) primary_key,name varchar(10))";
然后通过 db.execSQL(sql); }
创完表之后就可以到activty页面进行首先创出database操作数据库的文件
SQLiteDatabase db = new Mydbhelper(this).getWritableDatabase();
//插入一条数据
String sql = "insert into student values(1,'zzz')";
db.execSQL(sql);
当需要拿到一个返回结果的时候,我们需要一个另一个方法调用rawquery方法,返回一个游标,相当于一个临时表格,第二个参数是条件
Cursor cursor = db.rawQuery(sq, null);
//w游标往下移
if (cursor.moveToNext()) {
// int id=cursor.getInt(0);
int id1=cursor.getInt(cursor.getColumnIndex("id"));
String name=cursor.getString(1); Log.e("msg","id"+id+"id1"+id1+"name"+name); }else { Log.e("msg","游标失败"); }}