易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : Sqlite

SQLITE入门 逐步讲解SQLITE命令行(三)

backup ?DB? FILE 备份数据库到文件,默认备份的是main数据库,如果不附加数据库,test.db文件中默认的只有main数据库。 命令操作举例:
sqlite> .backup mydb.bak
sqlite>
此时可以再F盘看到mydb.bak文件,用记事本打开虽然是乱码,但可窥见一斑。
.restore ?DB? FILE 从备份文件还原数据和.backup相对应. 接上一步,我们可以ctrl+c结束命令,我们再建立一个新的库,来用mydb.bak文件还原,命令如下:
sqlite> ^C
F:\>sqlite3 test0.db
SQLite version 3.6.16
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> ;
sqlite> .restore mydb.bak
sqlite>
验证数据如下:
sqlite> select * from websites;
1|CTOChina.net
2|搜狐
3|雅虎
sqlite>
为了下边的顺利进行,我们重新打开test.db数据:
sqlite> ^C
F:\>sqlite3 test.db
SQLite version 3.6.16
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
.bail ON|OFF 遇到错误是继续还是终止选项,默认是终止.
.databases 显示文件中数据库列表,如果没有附加数据库的情况下,文件中只有ma ......

SQLITE入门 逐步讲解SQLITE命令行(四)

.dump ?TABLE? ... 以SQL语句方式显示表的结构。如:
sqlite> .dump websties
BEGIN TRANSACTION;
COMMIT;
sqlite> .dump websites
BEGIN TRANSACTION;
CREATE TABLE [websites] (
[WebID] INTEGER NOT NULL PRIMARY KEY,
[WebName] VARCHAR(20) NULL
);
INSERT INTO "websites" VALUES(1,'CTOChina.net');
INSERT INTO "websites" VALUES(2,'搜狐');
INSERT INTO "websites" VALUES(3,'雅虎');
COMMIT;
sqlite>
.echo ON|OFF 是输出还是隐藏操作命令的命令,默认是隐藏, 显示命令:
sqlite> .echo on
sqlite> select * from websites;
select * from websites;
1|CTOChina.net
2|搜狐
3|雅虎
sqlite>
可以看出"select * from websites;"在和查询结果一起显示在屏幕上。
隐藏命令如:
sqlite> .echo off
sqlite> select * from websites;
1|CTOChina.net
2|搜狐
3|雅虎
sqlite>
.exit 退出SQLite程序
.explain ON|OFF
".explain"命令可以被用来设置输出格式为“column” 并设置列宽为EXPLAIN命令看起来比较合理的宽度。EXPLAIN命令是SQLite特有的SQL扩展,它是对调试有用。如果任何常规的SQL被EXPL ......

SQLITE入门 逐步讲解SQLITE命令行(五)

.help 显示帮助信息
.import FILE TABLE 把文件中的数据导入到表中,各字段用separator(默认是"|")的值为分隔符,下面我们举个例子。 我们在F盘下建一个data.txt文件,内容如下:
4|开源
5|技术
.import命令操作如下:
sqlite> .import data.txt websites
sqlite>
查看结果如下:
sqlite> select * from websites;
WebID|WebName
1|CTOChina.net
2|搜狐
3|雅虎
4|开源
5|技术
sqlite>
我们已经看到
4|开源
5|技术
数据,已经导入websites表中了.....
.indices TABLE
“.indices”命令作用类似的方式是列出特定表的所有的索引。“.indices”命令须一个参数即所要索引表的表名。
在此提醒下“.schema”命令,如果".schema"不带任何参数,“.schema”命令显示原始的用于创建当前数据库的CREATE TABLE和CREATE INDEX语句。如果你给".schema"命令一个表名,它显示原始的创建该表和它所有索引的CREATE语句。为了举例,我们先建个索引以作铺垫。
在表websites的webID字段上建立一个名为mytestindex的索引,如下:
sqlite> create index mytestindex on websites([webID]);
sqlite>
.indices ......

SQLITE入门 逐步讲解SQLITE命令行(六)


.nullvalue STRING 用STRING代替null值显示,不难理解,就不再累述了。
.output FILENAME 设置把查询输出到文件,后面的输出结果都保存到文件中,如:
sqlite> .mode list
sqlite> .output websites.txt
sqlite> select * from websites;
sqlite>
可以在F盘下发现建立了websites.txt文件,其内容如下:
1|CTOChina.net
2|搜狐
3|雅虎
4|开源
5|技术
.output stdout 设置把查询结果输出到屏幕,这是默认输出方式。如:
sqlite> .output stdout
sqlite> select * from websites;
1|CTOChina.net
2|搜狐
3|雅虎
4|开源
5|技术
sqlite>
.prompt MAIN CONTINUE Replace the standard prompts(修改提示符)请补充?
.quit 退出SQLite程序,同.exit命令
.read FILENAME Execute SQL in FILENAME 执行文件中的SQL语句,文件中的语句一定要带上分号(;).
我们在F盘下建sqldata.txt文件,其内容为:
insert into websites(WebName) values('测试插入数据0');
insert into websites(WebName) values('测试插入数据1');
select * from websites;
我们执行.read命令如下:
sqlite> .read sqldata.txt
1|CTOChina.net
2|搜狐
3|雅虎
......

Sqlite和SQLCE在Windows Mobile 6上的性能对比

     最近公司需要将桌面系统部署到PDA上面去,选择了WM6作为部署平台。在选择数据库方面出现了一点顾虑,因为对于PDA而言,性能是首要考虑的因素。
     在开源的数据库Sqlite和SQLCE之间徘徊,所以针对这个情况,对Sqlite和SQLCE在WM6上面做了性能测试。我也将自己在做测试过程中碰到的问题在这里罗列一下,以便让那些在网上查了很久都找不到答案的朋友少走一些弯路。
     从两个方面来分析:第一,碰到的问题以及解决方案,第二,测试性能的结果和结论。
    第一:首先在部署的时候需要将数据库拷贝到PDA上或者WM上面,拷贝的路径是在程序中写好的路径。测试时,我的路径是"Program Files"smartdevicetest下面。
     开始部署时,因为我先测试SQLCE的,出现 “无法找到 PInvoke DLL“sqlceme35.dll” ”的错误,原因是因为在VS自动部署的时候没有将sqlceme35.dll部署到模拟器上面去,导致编译通过,但是运行出错。
    在网上找了些解决方案,很多不能用,以下解决方案能行:http://blog.csdn.net/flyjimi/archive/200 ......

SQLITE数据表主键设置Id自增方法

    搞定了一个困扰许久的问题,原来sqlite中的主键也是可以设置为自增的:)方法就是声明为 INTEGER PRIMARY KEY 的字段可以自动增加。
    网上查到资料说,从 SQLite 的 2.3.4 版本开始,如果将一个表中的一个字段声明为 INTEGER PRIMARY KEY,那么只需向该表的该字段插入一个 NULL 值,这个 NULL 值将自动被更换为比表中该字段所有行的最大值大 1 的整数;如果表为空,那么将被更换为 1。
CREATE TABLE "ProcessList"(
[Id] integer(4) PRIMARY KEY
,[Type] varchar(20)
,[Name] varchar(30)
,[IsUse] int
 
)
    执行
insert into processlist
values
(null,'a','b',1)
    在逻辑意义上等价于:
insert into processlist VALUES((SELECT max(Id) from processlist)+1, 'a','b',1);
insert into processlist
values
(null,'aa','bb',1)
    执行两条插入语句后再查询表中数据:
select * from processlist
    结果如下:
Id Type Name IsUse
1  a       b    &n ......
总记录数:155; 总页数:26; 每页6 条; 首页 上一页 [11] [12] [13] [14] 15 [16] [17] [18] [19] [20]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号