浅谈SQLite操作经验

数据库作为Android客户端一种数据存储方式,一直想好好学习下。刚好最近做了一个项目,为了提高响应性能将后端的部分逻辑放在了前端,那么后端对数据库的操作必然要在前端实现。前端可以选择在内存中用for循环,也可以用SQLite,两种方式各有利弊。用for循环直接在内存中操作,不用读写数据库,不用建表,但是所有的修改查询操作都要自己实现,数据量大的话可能会非常复杂,而且不利于扩展;用数据库前期需要比较多的准备工作,像建数据库,建表,写入数据等,但是后期可以借助SQL语言非常方便地实现各种增,删,改,查操作,避免了直接操作数据,利于扩展。可能有的同学会疑虑频繁操作数据库会不会有性能问题,我可以很负责地告诉大家用户基本是无感知的,速度和内存不相上下,几乎没有出现数据库操作异常。注:表结构变更后一定要升级数据库版本,不然不会生效。

接下来主要讲Android客户端SQLite的一些操作经验,SQLite 是一个轻量级的软件库,无需任何配置,可以直接调用。可以在Android中引入第三方库,避免直接写SQL语句,该库会封装常用的SQL操作,具体详情可以参考https://www.jianshu.com/p/8e3f294e2828,可以满足我们基本的增,删,改,查操作,如果不能满足,还可以直接调用execSQL函数执行SQL语句。如果想要系统地学习SQL语句,可以参考https://www.runoob.com/sqlite/sqlite-drop-table.html,里面包含了SQLite 数据库的基本简介和操作方法,学完会对SQLite 数据库有一个更加全面清晰的认识,因为SQLite 可以直接运行在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT),建议大家在电脑的终端手敲一遍,印象会更加深刻。

我在学习的过程中发现以下两个命令是等价的,特此分享出来,如果大家在学习的过程中有什么不懂的地方欢迎回帖交流。

COMPANY :
ID          NAME        AGE         ADDRESS     SALARY    
----------  ----------  ---------- ----------  ----------
1           Angle       34          Home        34884.0   
2           Anffle      34          Home        34884.0   
3           Anffle      34          Home        44884.0   
4           Booble      54          Home        56644.0   
5           Wffble      54          Home        56644.0  
 
DEPARTMENT :
ID          DEPT        EMP_ID    
----------  ----------  ----------
1           Nahdhhd     4         
2           Nahdhhd     6         
3           Anffle      6         
4           Bkdkd       9  
SELECT A.NAME, A.AGE, A.ADDRESS, B.DEPT, B.EMP_ID AS DEPARTMENT_EMP_ID FROM COMPANY AS A, DEPARTMENT AS B WHERE A.ID = B.ID;
等价于
SELECT A.NAME, A.AGE, A.ADDRESS, B.DEPT, B.EMP_ID AS DEPARTMENT_EMP_ID FROM COMPANY AS A JOIN DEPARTMENT AS B ON A.ID = B.ID;
操作结果:
 
NAME        AGE         ADDRESS     DEPT        DEPARTMENT_EMP_ID
----------  ----------  ----------  ----------  -----------------
Angle       34          Home        Nahdhhd     4                
Anffle      34          Home        Nahdhhd     6                
Anffle      34          Home        Anffle      6                
Booble      54          Home        Bkdkd       9 
发布了48 篇原创文章 · 获赞 27 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_41480546/article/details/90520339