[Android] Sqlite 常用知识点(持续更新)

  • 存在就插入,不存在则更新
//先进行插入操作,如果unique冲突,则执行replace操作,先delete后insert.会造成没有传入的字段恢复初始值
mDatabase.insertWithOnConflict(tablename, null,contentValues, SQLiteDatabase.CONFLICT_REPLACE);

//通过源码观察,等于执行了下面sql语句
insert or replace into table (colname,cloname....) values (value,value...)
  • 在WHRER字句中规定查询多个值
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)

//例如,在Student表中查找小明和小红的age
SELECT age From Student WHERE name IN ('小明','小红')
  • 计算某列的和
//计算某列的和
SELECT SUM(column_name) FROM table_name

//计算多列的和
SELECT SUM(column_name1 + column_name2 +...) FROM table_name
  • 级联删除
/**将a表的某一字段设为外键,关联到b表的某一字段(b表的该字段必须唯一,如 primary key 或者 unique),添加级联删除功能。
即:删除a表下该字段则b表下相关联字段下的相等行会被删除。
用途:如联系人列表,如果某联系人被删除,则处在其他表中关于该联系人的信息也都应该被删除。
*/
FOREIGN KEY (b.colume2_name) REFERENCES a_table_name (a.colume1_name) ON DELETE CASCADE

注:由于sqlite默认关闭外键功能,所以每次在要进行外键操作前必须执行以下代码

//打开外键功能
mDatabase.execSQL("PRAGMA foreign_keys=ON");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值