在cmd中进行操作sqlite
首先讲一讲sqlite 数据库和 应用程序 之间的关系,有很多人不是很清楚。其实和javaweb 中不同,一个sqlite数据库只对应一个应用程序,如数据库名为 test_mars_db.db
应用程序名为mars.sqlite3 ,则数据库文件则直接放在模拟器的data/data中应用程序mars.qlite3中的 databases下(可以使用:ls和 ls –l命令查看目录,在cd
data/data目录下使用ls命令可以显示所有的进程信息)。如果没有test_mars_db数据库,则执行sqlite3 test_mars_db则会新建一个数据库。你可以使用语句: createtable user(id int,name varchar(20)),新建一张表,然后使用insert插入数据,再进行其他的查询,更新,删除操作。
截图如下:
Android中使用sqlite
SQLite 的优点就是高效,Android运行时环境包含了完整的SQLite。
SQLite 和其他数据库最大的不同就是对数据类型的支持,创建一个表时,可以在CREATETABLE 语句中指定某列的数据类型,但是你可以把任何数据类型放入任何列中。当某个值插入数据库时,SQLite将检查它的类型。如果该类型与关联的列不匹配,则SQLite 会尝试将该值转换成该列的类型。如果不能转换,则该值将作为其本身具有的类型存储。比如可以把一个字符串(String)放入 INTEGER 列。SQLite 称这为“弱类型”(manifesttyping.)。
此外,SQLite 不支持一些标准的 SQL 功能,特别是外键约束(FOREIGN
KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL
OUTER JOIN, 还有一些 ALTER TABLE 功能。