打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Android sqlite3命令详解(一)
 sqlite3可以让我们手动的对SQLite数据库进行管理。一共有2个sqlite3,一个在电脑上,它位于android-sdk-windows\tools\sqlite3.exe,用于电脑上SQLite数据库进行管理;还有一个位于android系统上(手机上),它用于位于Android系统上的SQLite数据库进行管理,对于后者你需要通过adb shell进入shell。有时我们不想直接在android系统上对SQLite数据库进行操作,这时可以把它拷贝到电脑上进行操作。

       但是需要注意前者是window系统,后者是Linux系统,他们表示路径的方式不一样。
       在sqlite3命令后可跟一个参数指定要打开或创建的数据库文件。如果指定的数据库文件还不存在,就会新建一个数据库,且以该参数作为文件名。对于android系统上的sqlite3,必须通过其shell来运行,如果新建数据库的话,需要root权限,可以在shell中键入"su"来获得root权限。

       如果是android系统的sqlite3程序(通过shell运行),你可以Ctrl键+D ,然后回车退出该程序回到shell,也可以Ctrl键+C直接退出Shell,如果是电脑上的sqlite3,可以Ctrl键+C直接退出sqlite3程序。

       下面就是一个创建包含一个名叫"tbl1"的表的名叫"ex1"的SQLite数据库的示例。

       示例1:

java代码:

  1. $ sqlite3 ex1
  2. SQLite version 3.3.10
  3. Enter ".help" for instructions
  4. sqlite> create table tbl1(one varchar(10), two smallint);
  5. sqlite> insert into tbl1 values('hello!',10);
  6. sqlite> insert into tbl1 values('goodbye', 20);
  7. sqlite> select * from tbl1;
  8. hello!|10
  9. goodbye|20
  10. sqlite>
复制代码

       sqlite3支持两种命令,一种是SQL命令,一种是非SQL命令,非SQL命令以"."作为前缀,比如".tables"命令。
       可以通过".help"命令来查看它所有的非SQL命令.所有不以"."为前缀的语句,都将做SQL进行解释,当时对于SQL语句你需要在末尾加上分号";"以表示SQL语句输入完成,这时你输入的命令才开始按照SQL语言进行执行。

       示例2:

java代码:
  1. sqlite> CREATE TABLE tbl2 (
  2. ...> f1 varchar(30) primary key,
  3. ...> f2 text,
  4. ...> f3 real
  5. ...> );
  6. sqlite>
复制代码

        关于数据库的schema是存放在一个叫sqlite_master的表中,你虽然不能对它进行DROP TABLE, UPDATE, INSERT or DELETE操作,但是可以像普通的表一样对它进行查询。

       示例3:

java代码:
  1. sqlite3 /data/data/com.android.providers.settings/databases/settings.db
  2. SQLite version 3.6.22
  3. Enter ".help" for instructions
  4. Enter SQL statements terminated with a ";"
  5. sqlite> .tables
  6. .tables
  7. android_metadata bookmarks system
  8. bluetooth_devices secure
  9. sqlite> select * from sqlite_master;
  10. select * from sqlite_master;
  11. table|android_metadata|android_metadata|3|CREATE TABLE android_metadata (locale
  12. TEXT)
  13. table|system|system|4|CREATE TABLE system (_id INTEGER PRIMARY KEY AUTOINCREMENT
  14. ,name TEXT UNIQUE ON CONFLICT REPLACE,value TEXT)
  15. index|sqlite_autoindex_system_1|system|5|
  16. table|sqlite_sequence|sqlite_sequence|6|CREATE TABLE sqlite_sequence(name,seq)
  17. index|systemIndex1|system|7|CREATE INDEX systemIndex1 ON system (name)
  18. table|secure|secure|8|CREATE TABLE secure (_id INTEGER PRIMARY KEY AUTOINCREMENT
  19. ,name TEXT UNIQUE ON CONFLICT REPLACE,value TEXT)
  20. index|sqlite_autoindex_secure_1|secure|9|
  21. index|secureIndex1|secure|10|CREATE INDEX secureIndex1 ON secure (name)
  22. table|bluetooth_devices|bluetooth_devices|11|CREATE TABLE bluetooth_devices (_id
  23. INTEGER PRIMARY KEY,name TEXT,addr TEXT,channel INTEGER,type INTEGER)
  24. table|bookmarks|bookmarks|12|CREATE TABLE bookmarks (_id INTEGER PRIMARY KEY,tit
  25. le TEXT,folder TEXT,intent TEXT,shortcut INTEGER,ordering INTEGER)
  26. index|bookmarksIndex1|bookmarks|13|CREATE INDEX bookmarksIndex1 ON bookmarks (fo
  27. lder)
  28. index|bookmarksIndex2|bookmarks|14|CREATE INDEX bookmarksIndex2 ON bookmarks (sh
  29. ortcut)
  30. sqlite>
复制代码

系列之Android sqlite3命令详解(二)的帖子链接http://www.eoeandroid.com/thread-97525-1-1.html
系列之Android sqlite3命令详解(三)的帖子链接http://www.eoeandroid.com/thread-97526-1-1.html

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Ubuntu下安装SQLite3 (转)
SQLite3命令操作大全
adb工具手工操作android模拟器上的数据库
Android Sqlite 使用
SQLite学习手册(数据表和视图)
android sqlite3详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服