——SQLite数据库 【若对该知识点有更多想了解的,欢迎私信博主~~】
创建一个继承自SQLiteOpenHelper的工具类:
public class SqlUtile extends SQLiteOpenHelper { // 重写构造方法 public SqlUtile(Context context, String name, int version) { // 【上下文】、【数据库名称.db】、【默认工厂】、【版本号】 super(context, name, null, version); } // 重新写onCreate()方法 /* * 第一次创建数据库时回调该方法 * 可以生成表结构,并添加一些初始化数据 * */ @Override public void onCreate(SQLiteDatabase db) { // 初始化建表 db.execSQL(【建表语句】); // 添加初始数据 db.execSQL(【添加语句】); } // 当数据库版本更新时回调该方法 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }举例
package com.example.sirl.demo0711.work3; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.support.annotation.Nullable; public class SQLite extends SQLiteOpenHelper { public SQLite(Context context) { super(context, "user", null, 1); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL("Create table if not exists table1(id Integer primary key,user varchar(20),pwd varchar(20))"); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { } }新建数据库
//创建数据库对象,若不存在则新建,若不存在则复用 SQLite sqLite = new SQLite(getApplicationContext()); // 以何种方式打开数据库 // getReadableDatabase() // 以读写的方式打开数据库对应的SQLiteDatabase对象,如果数据库磁盘满了,则只能读不能写,并且抛出异常 // getWritableDatabase() // 以写的方式打开数据库对应的SQLiteDatabase对象,如果数据库磁盘满了,则返回打开失败,继而以只读方式打开数据库 SQLiteDatabase db = sqLite.getWritableDatabase();增
//第一种方式 ContentValues cv = new ContentValues(); cv.put("user", "bbb"); cv.put("pwd", "123456"); db.insert("user", null, cv); //第二种方式 db.execSQL("insert into user(user,pwd) VALUES(?,?)", new Object[]{"bbb", "123456"});删
//第一种方式 String whereClause2="user=?"; String[] whereArgs2={String.valueOf("bbb")}; //当多个条件时 String whereClause2="user=? and pwd=?"; String[] whereArgs2={String.valueOf("bbb"),String.valueOf("123456")}; db.delete("user",whereClause2,whereArgs2); //第二种方式 db.execSQL("delete from user where user='bbb' and pwd='123456'");改
//第一种方式 ContentValues cv = new ContentValues(); cv.put("user","bbb"); String whereClause="user=?"; String[] whereArgs={"aaa"}; //当多个条件时 cv.put("user","bbb"); String whereClause="user=? and pwd=?"; String[] whereArgs={"aaa","123456"}; db.update("user",cv,whereClause,whereArgs); //第二种方式 db.execSQL("update user set user=? where user='aaa' and pwd='123456'",new Object[]{"bbb"});查
//第一种方式 Cursor cursor=db.query("user",new String[]{"user","pwd"},null,null,null,null,null,null); //第二种方式 Cursor cursor1=db.rawQuery("select user,pwd from user",null); if (cursor.moveToFirst()){ do{ Log.e("user",""+cursor.getString(cursor.getColumnIndex("user"))); }while (cursor.moveToNext()); }