sqlite数据库

SQLite命令行访问Android数据库

夙愿已清 提交于 2019-11-30 07:44:20
登录Android Shell D:\android-sdk-windows\platform-tools\adb shell 应该出现#提示,如果是$提示,请按照上面链接获取ROOT权限。 sqlite命令 sqlite3 /data/data/com.easymorse.demo/files/mydb eg:sqlite3 /data/data/com.mycooner.www.blasttest/databases/data 在这里,com.easymorse.demo是应用的名字(package name),files目录是程序私有的存放文件的目录,如果是通过android创建的sqlite数据库,应该存放在: /data/data/com.easymorse.demo/databases 然后,就可以使用sql语句的命令了,比如: SQLite version 3.5.9 Enter ".help" for instructions sqlite> select * from users; select * from users; sqlite> .exit 通过sqlite3命令行访问android中的联系人库,比如: sqlite3 /data/data/com.android.providers.contacts/databases/contacts2.db 来源:

centos sqlite3安装及简单命令

倾然丶 夕夏残阳落幕 提交于 2019-11-29 12:22:24
安装: 方法一: wget http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz tar xvzf sqlite-autoconf-3070500.tar.gz cd sqlite-autoconf-3070500 ./configure make sudo make install 方法二: sudo yum install sqlite-devel 方法三: sudo gem install sqlite3-ruby 命令: 查看版本信息: #sqlite3 -version sqlite3终端进入命令: # sqlite3 查看数据库文件信息命令(注意命令前带字符'.'): sqlite>.database 查看所有表的创建语句: sqlite>.schema 查看指定表的创建语句: sqlite>.schema table_name 以sql语句的形式列出表内容: sqlite>.dump table_name 设置显示信息的分隔符: sqlite>.separator symble Example:设置显示信息以‘:'分隔 sqlite>.separator : 设置显示模式: sqlite>.mode mode_name Example:默认为list,设置为column,其他模式可通过.help查看mode相关内容

SQLite学习手册(实例代码<一>)

北城余情 提交于 2019-11-29 12:08:46
一、获取表的Schema信息: 1). 动态创建表。 2). 根据sqlite3提供的API,获取表字段的信息,如字段数量以及每个字段的类型。 3). 删除该表。 见以下代码及关键性注释: 1 #include <sqlite3.h> 2 #include < string > 3 4 using namespace std; 5 6 void doTest() 7 { 8 sqlite3* conn = NULL; 9 // 1. 打开数据库 10 int result = sqlite3_open( " D:/mytest.db " ,&conn); 11 if (result != SQLITE_OK) { 12 sqlite3_close(conn); 13 return ; 14 } 15 const char * createTableSQL = 16 " CREATE TABLE TESTTABLE (int_col INT, float_col REAL, string_col TEXT) " ; 17 sqlite3_stmt* stmt = NULL; 18 int len = strlen(createTableSQL); 19 // 2. 准备创建数据表,如果创建失败,需要用sqlite3_finalize释放sqlite3_stmt对象,以防止内存泄露。

SQLite学习手册(内存数据库)

自作多情 提交于 2019-11-29 12:08:18
一、内存数据库: 在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。最常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递":memory:",如: rc = sqlite3_open(" :memory: ", &db); 在调用完以上函数后,不会有任何磁盘文件被生成,取而代之的是,一个新的数据库在纯内存中被成功创建了。由于没有持久化,该数据库在当前数据库连接被关闭后就会立刻消失。需要注意的是,尽管多个数据库连接都可以通过上面的方法创建内存数据库,然而它们却是不同的数据库,相互之间没有任何关系。事实上,我们也可以通过Attach命令将内存数据库像其他普通数据库一样,附加到当前的连接中,如: ATTACH DATABASE ' :memory: ' AS aux1; 二、临时数据库: 在调用sqlite3_open()函数或执行ATTACH命令时,如果数据库文件参数传的是空字符串,那么一个新的临时文件将被创建作为临时数据库的底层文件,如: rc = sqlite3_open("", &db); 或 ATTACH DATABASE '' AS aux2; 和内存数据库非常相似,两个数据库连接创建的临时数据库也是各自独立的,在连接关闭后,临时数据库将自动消失,其底层文件也将被自动删除。

2010年SQLite学习笔记之二(2)

允我心安 提交于 2019-11-29 12:08:03
创建数据库文件 : >SQLite3 d:/test.db 回车 就生成了一个 test.db 在 d 盘。 这样同时也 SQLite3 挂上了这个 test.db 2) 用 .help 可以看看有什么命令 >.help 回车即可 3) 可以在这里直接输入 SQL 语句创建表格 用 ; 结束 ,然后回车就可以看到了 4) 看看有 创建了多少表 >.tables 5) 看表结构 >.schema 表名 6) 看看目前的数据库 >.database 7) 如果要把查询输出到文件 >.output 文件名 > 查询语句; 查询结果就输出到了文件 c:/query.txt 把查询结果用屏幕输出 >.output stdout 8) 把表结构输出,同时索引也会输出 .dump 表名 9) 退出 >.exit 或者 .quit 2 。从 http://sqlite.phxsoftware.com/ 下载 Ado.net 驱动。 下载了安装,在安装目录中存在 System.Data.SQLite.dll 我们只需要拷贝这个文件到引用目录,并添加引用即可对 SQLite 数据库操作了 所有的 Ado.net 对象都是以 SQLite 开头的,比如 SQLiteConnection 连接串只需要如下方式 Data Source=d:/test.db 或者 DataSource=test.db--

SQlite命令行操作数据库

别来无恙 提交于 2019-11-29 11:06:01
1、打开命令行窗口: 2、打开SQlite工具: 3、创建表结构: 4、查看创建的表结构: 5、插入表数据: 6、查询数据的语句: 7、未声明插入列的插入语句: 8、声明插入列的插入语句: 9、更新语句: 10、删除语句: 11、插入语句: 12、查看帮助命令: 13、命令行学习网站:W3C School http://www.w3cschool.cc/sqlite/sqlite-update.html 转载于:https://my.oschina.net/chedng/blog/609162 来源: https://blog.csdn.net/chichang0640/article/details/100795044

软件课设Day17

我只是一个虾纸丫 提交于 2019-11-29 06:49:28
今日工作: 1.昨天晚上发现了经过在我电脑上运行就获取不到位置权限的原因。要用自己的SHA1值在高德开发者注册以后才能使用高德SDK,不然就获取不了位置权限,也用不了它的一系列功能。 2.更改了一些图片的显示界面,不至于看着很奇怪 3.在B站上继续学习安卓开发,主要是如何链接SQLite数据库的问题。 今晚和明日计划: 1.学习如何链接SQLite数据库,争取明天到后天能搞好这个事情。 2.探讨实现行车安全距离测定这个主要问题。 每日小结: 今天又是忙碌的一天,早上出来自习了半天,下午又是一个公司参观,参观国家电网下面的南瑞集团,还有参加南瑞旗下的信通公司的一些宣讲。是真的很牛,但是还是觉得要怎么样的能力才能进这样的大公司...... 来源: https://www.cnblogs.com/sun1979/p/11461032.html

SQLite 线程安全和并发

老子叫甜甜 提交于 2019-11-28 23:59:11
SQLite 与线程 SQLite 是线程安全的。 线程模型 SQLite 支持如下三种线程模型 单线程模型 这种模型下,所有互斥锁都被禁用,同一时间只能由一个线程访问。 多线程模型 这种模型下,一个连接在同一时间内只有一个线程使用就是安全的。 串行模型 开启所有锁,可以随意访问。 设置线程模型 SQLite 可以通过以下三种方式进行线程模型的设置,在实际应用中选择任一一项都可以。 编译期设定 通过 SQLITE_THREADSAFE 这个参数进行编译器的设定来选择线程模型 初始化设定 通过调用 sqlite3_config() 可以在 SQLite 初始化时进行设定 运行时设定 通过调用 sqlite3_open_v2() 接口指定数据库连接的数据库模型 SQLite 并发和事务 事务 事务是 SQLite 的核心概念。对数据库的操作 (绝大部分) 会被打包成一个事务进行提交,需要注意的是,这里的打包成事务是自动开启的。举例而言,如果简单在一个 for 循环语句里向数据库中插入 10 条数据,意味着将自动生成 10 个事务。但需要注意的是事务是非常耗时的,一般而言, SQLite 每秒能够轻松支持 50000 条的数据插入,但是每秒仅能够支持几十个事务。一般而言,事务速度受限于磁盘速度。所以在批量插入时需要考虑禁用自动提交,将其用 BEGIN ... COMMIT 打包成一个事务

sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close

倾然丶 夕夏残阳落幕 提交于 2019-11-28 20:35:21
打开数据库链接sqlite3_open用法 原型: int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 用这个函数开始数据库操作。需要传入两个参数,一是数据库文件名,比如:E:/test.db。文件名不需要一定存在,如果此文件不存在,sqlite会自动建立它。如果它存在,就尝试把它当数据库文件来打开。二是sqlite3**,即前面提到的关键数据结构。这个结构底层细节如何,你不要管它。 函数返回值表示操作是否正确,如果是SQLITE_OK则表示操作正常。相关的返回值sqlite定义了一些宏。具体这些宏的含义可以参考sqlite3.h 文件。里面有详细定义(顺便说一下,sqlite3 的代码注释率自称是非常高的,实际上也的确很高。只要你会看英文,sqlite 可以让你学到不少东西)。 关闭数据库链接sqlite3_close用法 原型: int sqlite3_close(sqlite3 *ppDb); ppDb为刚才使用sqlite3_open打开的数据库链接 执行sql操作sqlite3_exec用法 原型: int sqlite3_exec( sqlite3* ppDb, /* An open

SQLite加密 wxSqlite3

百般思念 提交于 2019-11-28 20:34:29
一直在网上搜wxSqlite3的文档,但是总找不到能真正解决问题的,就是一个简单的编译wxSqlite3自带的示例也出了老多问题,后来却发现,其实wxSqlite3的readme中已经有了详细的方法,哦,就在眼皮子底下!为了避免再一次的遗忘,就在这里暂作一个记录吧。 截至记录时间,wxSqlite3的版本号为2.1.1,Sqlite3的版本为3.7.6.2,这两个都可以直接在网上下载, wxSqlite3的站点http://wxcode.sourceforge.net/components/wxsqlite3; http://sourceforge.net/projects/wxcode/files/Components/wxSQLite3/ http://sourceforge.net/projects/wxsqlite/?source=directory Sqlite3的站点http://www.sqlite.org/; 其中wxSqlite3自带了已编译的Sqlite3.7.6.1的DLL,当然,我的目的是自己编译静态的Lib,所以只能自己下来重新编译了。当然,我要的Lib是要带加密功能的,呵呵。 wxSQLite3 is a C++ wrapper around the public domain SQLite 3.x database and is