SQLlite数据库的增删改查

SQLiteDatabase中提供了一个insert()方法,专门用于添加数据。它接收3个参数:
第一个参数是表名,我们希望向哪张表里添加数据,这里就传入该表的名字;第二个参数用于在未
指定添加数据的情况下给某些可为空的列自动赋值NULL,一般我们用不到这个功能,直接传入null即
可;第三个参数是一个ContentValues对象,它提供了一系列的put()方法重载,用于向ContentValues中
添加数据,只需要将表中的每个列名以及相应的待添加数据传入即可。
示例写法如下:
val dbHelper = MyDatabaseHelper(this, "BookStore.db", 2)
val db = dbHelper.writableDatabase
val values1 = ContentValues().apply {
// 开始组装第一条数据
put("name", "The Da Vinci Code")
put("author", "Dan Brown")
put("pages", 454)
put("price", 16.96)
}
db.insert("Book", null, values1) // 插入一条数据

SQLiteDatabase中提供了一个非常好用的update()方法,用于对数据进行更新。
这个方法接收4个参数:第一个参数和insert()方法一样,也是表名,指定更新哪张表里的数据;第二
个参数是ContentValues对象,要把更新数据在这里组装进去;第三、第四个参数用于约束更新某一行
或某几行中的数据,不指定的话默认会更新所有行。
示例写法如下:
val dbHelper = MyDatabaseHelper(this, "BookStore.db", 2)
val db = dbHelper.writableDatabase
val values = ContentValues()
values.put("price", 10.99)
db.update("Book", values, "name = ?", arrayOf("The Da Vinci Code"))

删除数据
SQLiteDatabase中提供了一个delete()方法,专门用于删除数据。
这个方法接收3个参数:第一个参数仍然是表名,这个没什么好说的;第二、第三个参数用于约束删
除某一行或某几行的数据,不指定的话默认会删除所有行。
示例写法如下:
val dbHelper = MyDatabaseHelper(this, "BookStore.db", 2)
val db = dbHelper.writableDatabase
db.delete("Book", "pages > ?", arrayOf("500"))

SQLiteDatabase中还提供了一个query()方法用于对数据进行查询。这个方法的参数非常复杂

,最短的 一个方法重载也需要传入7个参数。参数的详细解释见下表:

val dbHelper = MyDatabaseHelper(this, "BookStore.db", 2)
val db = dbHelper.writableDatabase
// 查询Book表中所有的数据
val cursor = db.query("Book", null, null, null, null, null, null)
if (cursor.moveToFirst()) {
do {
// 遍历Cursor对象,取出数据并打印
val name = cursor.getString(cursor.getColumnIndex("name"))
val author = cursor.getString(cursor.getColumnIndex("author"))
val pages = cursor.getInt(cursor.getColumnIndex("pages"))
val price = cursor.getDouble(cursor.getColumnIndex("price"))
Log.d("MainActivity", "book name is $name")
Log.d("MainActivity", "book author is $author")
Log.d("MainActivity", "book pages is $pages")
Log.d("MainActivity", "book price is $price")
} while (cursor.moveToNext())
}
cursor.close()

原文地址:https://www.cnblogs.com/yongyuandishen/p/14867569.html