在android开发中sqlite起着很重要的作用,网上sqlite的教程有很多很多,不过那些教程大多数都讲得不是很全面。本人总结了一些sqlite命令,借着论坛的大赛,跟大家分享分享的。
一.sqlite的介绍
1.sqlite简介
sqlite是一款轻型的数据库,是遵守acid的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百k的内存就够了。它能够支持 windows/linux/unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如tcl、php、java、c++、.net等,还有odbc接口,同样比起 mysql、postgresql这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
2.sqlite的特点:
轻量级
sqlite和c/s模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器。使用sqlite一般只需要带上它的一个动态 库,就可以享受它的全部功能。而且那个动态库的尺寸也挺小,以版本3.6.11为例,windows下487kb、linux下347kb。
不需要"安装"
sqlite的核心引擎本身不依赖第三方的软件,使用它也不需要"安装"。有点类似那种绿色软件。
单一文件
数据库中所有的信息(比如表、视图等)都包含在一个文件内。这个文件可以*复制到其它目录或其它机器上。
跨平台/可移植性
除了主流操作系统 windows,linux之后,sqlite还支持其它一些不常用的操作系统。
弱类型的字段
同一列中的数据可以是不同类型
开源
这个相信大家都懂的!!!!!!!!!!!!
3.sqlite数据类型
一般数据采用的固定的静态数据类型,而sqlite采用的是动态数据类型,会根据存入值自动判断。sqlite具有以下五种常用的数据类型:
null: 这个值为空值
varchar(n):长度不固定且其最大长度为 n 的字串,n不能超过 4000。
char(n):长度固定为n的字串,n不能超过 254。
integer: 值被标识为整数,依据值的大小可以依次被存储为1,2,3,4,5,6,7,8.
real: 所有值都是浮动的数值,被存储为8字节的ieee浮动标记序号.
text: 值为文本字符串,使用数据库编码存储(tutf-8, utf-16be or utf-16-le).
blob: 值是blob数据块,以输入的数据格式进行存储。如何输入就如何存储,不改 变格式。
data :包含了 年份、月份、日期。
time: 包含了 小时、分钟、秒。
要查看数据库,首先必须要找到db文件,如果拷贝到电脑上,查看的方法比较多,在手机上,用命令查看比较直接和方便。
首先要找到数据库的位置,一般数据库时存放在程序的私有目录,所以要获取root权限。
确保开发工具已经连接上手机,打开命令行,输入adb shell
这时还没有获取root权限,输入su,手机会弹出提示,允许获取root权限
后缀变为“#”,成功获取root权限,这时可以进入应用程序的私有目录,
输入cd data/data/程序包名/databases/,进入数据库的目录
下面时一些基本的sqlite命令
首先打开数据库,输入sqlite3 test_db,打开一个文件名为test_db的数据。
要查看数据库的结构,输入.schema
查看一些所有的数据
查看起来有些吃力,为了让数据看起来更美观,输入.head on,显示列名,输入.mode column,按类显示
看起来舒服多了
要查看有多少个表,输入.table
查看单个表的结构,.schema tablename
以上命令进行简单的查看数据库,应该足够了。