sqlite3数据库
在windows的命令行提示符下键入sqlite3.exe thedbfilename.db在linux的终端里键入sqlite3 thedbfilename.db但是要注意到: .db文件不一定是sqlite3的数据库文件 -- 如果不是,就不能成功读取其中的数据了。
B. sqlite3 如何选中要操作的数据库
sqlite3只能操作数据库文件。它没有像mysql那样的数据库的概念,它一个文件就是一个数据库,一个数据库就是一个文件
所以你打开数据库文件之后,接下去就是操作“表”了,没有“数据库”了
C. 如何使用SQLite3数据库
SQLite 的 sqlite3 命令被用来创建新的 SQLite 数据库
$sqlite3 DatabaseName.db
D. sqlite3 数据库 最大支持多少条数据
sqlite是文件型的数据库,所有的东西,都在一个文件中,故支持由对应的硬盘文件系统和操作系统来决定
下面是原文解释支持的大小:
Every database consists of one or more "pages". Within a single database, every page is the same size, but different database can have page sizes that are powers of two between 512 and 65536, inclusive. The maximum size of a database file is 2147483646 pages. At the maximum page size of 65536 bytes, this translates into a maximum database size of approximately 1.4e+14 bytes (140 terabytes, or 128 tebibytes, or 140,000 gigabytes or 128,000 gibibytes).
海枫科技、海枫论坛
E. 怎么进入已经创建了的sqlite3数据库中的表
看你用什么调试了 如果用电脑的虚拟机 eclipse:DDMS--data-data-项目名-这个忘了--数据库名字.db 控制台:adb shell -- cd data/data/项目名/忘了/
数据库文件导出 可以使用工具查看数据库文件了
如果使用的平板电脑或者手机调试的话:默认情况下数据库建立在项目文件目录以下的目录中具体忘记了。想查看必须获取平板或手机的root权限。
也可以指定数据库路径。
F. 如何用sqlite3
sqlite的安装
1. 首先是下载sqlite,可以该页面下载:http://www.sqlite.org/download.html
当前的最新版本为:sqlite-shell-win32-x86-3070701.zip这个是windows下sqlite的命令行管理工具,用它可以管理sqlite数据库文件
同时最好把文档也下载下来,里面包含了详细的sqlite的使用说明:sqlite-doc-3070701.zip
2.
sqlite无需任何配置和安装,只要将下载下来的shell文件解压到任何你觉得合适的地方,然后将其加入到path环境变量就可以了(加入path环
境变量是为了直接在命令行使用sqlite3,不加的话需要详细的指定sqlite3的路径,如d:/sqlite/sqlite3)。
3. 验证一下是否安装成功。
要想掌握一个软件的使用,最好的方式是使用软件自带的帮助和文档,而不是一直利用google。文档和帮助一般包含了该软件所有的用法,毕竟那是有软件的开发者所写的,他对软件是最了解的。
首先来看一下sqlite的帮助:
win + r输入cmd,进入命令行,并输入sqlite3,进入sqlite的命令行管理工具。
然后输入.help,则可以看到sqlite3的管理工具的所有用法了:
为了照顾e文不好的朋友,这里将所有的命令解释一遍,并给出相应的示例:
首先创建一个数据库test.db,并在该数据库中创建一张表user
1.因为之前进入了sqlite3了,先用.quit退出sqlite
2.再用sqlite3 test.db加载或创建指定数据库
3.然后用sql语句创建一个一张表user(关于sql语句,可以去看些sql入门的书籍,在sqlite文档中也有对应的sql的介绍,不过
感觉那个不适合入门,因为毕竟很多数据库的基本知识里面都没有讲到)(同时还需要注意的是sqlite是可以不指定列的类型的,这也是sqlite的一个
特色,它的列类型是动态的)
4.然后又用到了一个显示当前数据库中存在的数据表的命令.tables(.help中倒数第三个)
5.最后向数据表中插入了一条数据(sql语句,不是.help中的命令)
接下来从上到下介绍所有命令的使用:
.backup ?DB? FILE
将数据库文件备份到指定的文件中,默认(在不指定数据库名时)会备份main数据库)
备份生成的文件打开后
.l ON|OFF
设置在遇到错误时就停止sqlite工具的执行,默认时是OFF的。
.databases
列出(当前数据库文件中)附加的所有数据库的名字和文件
.mp ?TABLE1? ?TABLE2? ...
将数据库打印为sql文本格式。如果?TABLE1?指定了,就只打印出名字中包含了TABLE1的数据表。
.echo ON|OFF
在显示的结果前是否显示输入的命令
注意:这个是以column模式显示了,后面会讲到如何将显示方式设置为column
.exit
不解释,退出程序
.explain ?ON|OFF?
开启或关闭适合于的输出模式。不指定ON或OFF时,默认为ON。
.genfkey ?OPTIONS?
OPTIONS有如下几个值:
--no-drop:不删除旧的外键触发器
--ignore-error:忽略表的外键错误
--exec:立即执行生成的sql语句
这个应该是设置在违反外键约束时,sqlite如何做。具体的没尝试。
.headers ON|OFF
是否显示表头
.mode MODE ?TABLE?
设置输出模式,当?TABLE?指定时,就是该输出模式只应该在该表的输出上
.header on时的各输出模式
.header off时的各输出模式
.help
显示帮助
.import FILE TABLE
读取文件中的数据插入到指定表中
注意这里的分隔符.separator是\t,所以data.txt中是以tab分隔的,默认的是,(此时就是2,yuan2,2)
indices ?TABLE?
显示指定表的所有索引。表没指定时,显示所有索引。
.load FILE ?ENTRY?
加载一个外部库文件
.log FILE|off
开启或关闭日志功能。
关闭:.log off
开启,并将日志输出到标准输出流:.log stdout
开启,并将日志输出到标准错误六:.log stderr
开启,并将日志输出到指定文件:.log d:/sqlite3/log.txt
nullvalue STRING
值为NULL时,显示的字符串。默认为""
.output FILENAME
将所有的输出都输出到指定文件
.output stdout
将所有的输出都输出到标准输出流(默认就是),就是输出到控制台上
.prompt MAIN CONTINUE
替换标准的提示。未尝试
.quit
不解释,同.exit,退出程序。
.read FILENAME
执行指定文件中的sql语句
.restore ?DB? FILE
从备份文件中还原数据库。默认是还原main数据库。
1. 首先我们先备份的main数据库
2. 然后将数据删除
3. 然后在还原main数据库,看数据是否还原成功
.schema ?TABLE?
显示指定表的创建语句。表未指定时,显示所有表的创建语句。
因为之前创建了索引,所以包含索引创建语句。
.separator STRING
设置输出模式.mode和导入数据.import的分隔符。
.show
显示当前的设置。
.tables ?TABLE?
列出所有表名。
.timeout MS
只在指定的毫秒内尝试打开锁定的表,而不是一直尝试打开。
.width NUM1 NUM2 ...
设置.mode column中每个列的宽度。每个列默认的宽度是10个字符,过长时会被截断。
第一列设为1个字符,第二列设为0表示保持不变,第三类不设置也是保持不变
.timer ON|OFF
是否开启cpu耗时度量。
G. sqlite3 与mysql等数据库有什么区别
尽管数据库管理上不一样,当然有很多地方不一样,对于数据库应用开发者而言,你知道了解标准SQL就可以了,知道标准SQL就可以玩转所有数据库的应用。
H. sqlite3数据库怎么存储数组类型
/*思路是把数组保存成blob格式
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sqlite3.h"
/*#define DEBUG*/
int main(int argc, char *argv[]) {
int a[10] = {1,3,8,4,6,6,7,8,9};
int len;
len = sizeof(a[0])*10;
#ifdef DEBUG
printf("%d\n",len);
#endif
sqlite3 *db;
sqlite3_stmt *stmt;
char *sql,*zErr;
int rc;
rc = sqlite3_open_v2(":memory:",&db,SQLITE_OPEN_CREATE|SQLITE_OPEN_READWRITE,NULL);
if(rc){
fprintf(stderr,"%s\n",sqlite3_errmsg(db));
return rc;
}
rc = sqlite3_exec(db,"create table if not exists test(array blob);",NULL,NULL,&zErr);
if(rc != SQLITE_OK){
fprintf(stderr,"%s\n",zErr);
sqlite3_free(zErr);
sqlite3_close(db);
return rc;
}
sql = "insert into test values(?);";
sqlite3_prepare_v2(db,sql,strlen(sql),&stmt,NULL);
sqlite3_bind_blob(stmt,1,a,len,SQLITE_STATIC);
sqlite3_step(stmt);
sqlite3_reset(stmt);
sql = "select * from test;";
sqlite3_prepare_v2(db,sql,strlen(sql),&stmt,NULL);
sqlite3_step(stmt);
len = sqlite3_column_bytes(stmt,0);
int *data = malloc(len);
memcpy(data,sqlite3_column_blob(stmt,0),len);
sqlite3_finalize(stmt);
sqlite3_close(db);
#ifdef DEBUG
printf("%d\n",sizeof(a[0]));
#endif
int i = 0;
while(i<(len/sizeof(a[0]))){
printf("a=%d, data=%d\n",a[i],*(data+i));
i++;
}
system("pause");
return 0;
}
I. SQLITE3 如何打开.db的数据库文件查看文件内容
1、打开程序后,可以看到程序左边的“数据库列表”。展开可以查看到所有打开过的数据库。