SQLite基本使用

1、创建数据库

新建一个类DBHelper,继承SQLiteOpenHelper,重写onCreate与onUpgrade抽象方法

1、在构造方法中创建数据库

public DBHelper(Context context){
   super(context, "xx.db", null, 1);
}

2、创建数据表
db.execSQL("create table note(id integer primary key autoincrement,字段1 类型,字段2 类型,...)");

说明:id integer primary key autoincrement表示id时自动增长的主键,不需要人为插入


2、数据库操作

新建一个类用于数据表的增删改查

获取创建数据库类的对象,用于操作数据库
DBHelper db=new DBHelper(content);
//获取对数据库的操作权限
SQLiteDatabase database=db.getWritableDatabase();
SQLiteDatabase database=db.getReadableDatabase();

插入数据
方法一:
String tableName="note";
ContentValues cvalues=new ContentValues();
cvalues.put("name","note11");
cvalues.put("content","今天是星期五");
cvalues.put("date","2018-02-26");
database.insert(tableName,null,cvalues);

方法二:
database.execSQL("insert into note ("name","content","date") values(?,?,?)",new Object[]{"note11","今天是星期五","2018-02-26"})

修改数据

方法一:
String tableName="note";
ContentValues cvalues=new ContentValues();
cvalues.put("content","今天是星期一");
String whereNum="name=?";
String[] whereVal=String{"note11"};
database.update(tableName,cvalues,whereNum,whereVal);

方法二:
database.execSQL("update note set "content"=? where name=?,new Object[]{"今天是星期一","note11"})

查找数据
获取列名为"name"的所有数据
SQLiteDatabase database = db.getReadableDatabase();
Cursor cursor = database.rawQuery("select * from note", null);//查询所有数据
for (cursor.moveToNext) {
    String name = cursor.getString(cursor.getColumnIndex("name"));
}

获取列名为"id=1"的所有数据
String tableName = "note";
String[] columns = new String[]{"name,content,date"};
String whereColumn = "id=?";
String[] whereVal = new String[]{String.valueOf(1)};
String groupBy = null;
String having = null;
String orderBy = null;
Cursor cursor = database.query(tableName, columns, whereColumn, whereVal, groupBy, having, orderBy);//查询所有数据
for (cursor.moveToNext) {
    String name = cursor.getString(cursor.getColumnIndex("name"));
    String content = cursor.getString(cursor.getColumnIndex("content"));
    String date = cursor.getString(cursor.getColumnIndex("date"));
}

删除数据
方法一:
//删除note表中id=5的所有数据
database.delete(note,"id=?",new String[]{String.valueOf(5)})

方法二:
1、删除id=5的所有数据
database.execSQL("delete from note where id=?",new String[]{String.valueOf(5)});
2、删除所有数据
database.execSQL("delete from note");
3、删除一张表
database.execSQL("drop table note");


你可能感兴趣的:(android基础,数据库,sqlite)