在Windows的PC环境下编译SQLite源代码及在CLP可执行程序下的操作指南

来源:互联网 发布:信捷plc模拟量编程实例 编辑:程序博客网 时间:2024/06/05 16:37

前言:CLP(Command Line Processor)叫做命令行处理器,可以使用这个应用程序运行DB2 命令、操作系统命令或SQL 语句。CLP能够用于本地工作站的数据库的访问或者移除等功能。它能够将经常使用的命令或语句序列存储在批处理文件中,可以在必要的时候运行这些批处理文件。在Windows下就是在CMD下运行的黑屏程序(Win32 Console Application)。

’-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

备注:

1.列的数据的类型在SQLite中有5种本地类型:INTEGER、REAL、TEXT、BLOB和NULL(详见类型介绍)

2.SQLite还可以创建内存数据库。如果你使用:memory:或一个空字符串做数据库名,数据库将在RAM中创建。内存数据库将只能被创建它的连接所存取,不能与其它连接共享。另外,内存数据库只能存活于连接期间,一旦连接关闭,数据库就将从内存中被删除。

当连接一个位于磁盘上的数据库时,如果数据库文件存在,则打开该文件;如果不存在,SQLite会假定你想创建一个新的数据库。在这种情况下,SQLite不会立即在磁盘上创建一个文件,只有当你向数据库写入数据时才会创建文件,比如:创建表、视图或者其它数据库对象。如果你打开一个数据库,不做任何事,然后关闭它,SQLite会创建一个文件,但只是一个长度为0的空文件而已。

另外一个不立即创建新文件的原因是,一些数据库的参数,比如:编码,页大小等,只能在数据库创建之前设置。默认情况下,页大小为1024字节,但是你可以选择512-32768字节之间为 2幂数的数字。有些时候,较大的页能更有效地处理大量的数据。你可以使用page_sizepragma来设置数据库页大小。

字符编码是数据库的另一个永久设置。你可以使用encoding pragma来设置字符编码,其值可以是UTF-8、UTF-16、UTF-16le (little endian)和UTF-16be (big endian)。

‘--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

编译源码步骤:

1.SQLite网站(www.sqlite.org)下载源程序。我下载的是Sqlite-amalgamation-30700900.zip源码包下载2011年11月1号最新版下载。

2.打开VS2005,在visual C++新建项目,在Win32项目下选择Win32控制台应用程序;之后要在向导中‘应用程序设置’中选择"空项目"。

3.解压下载后的SQLite的源码文件,把里面的.h头文件和.c源文件添加进刚刚创建的Win32控制台应用程序空项目中。

4.编译生成解决方案。

5.cmd运行生成的SQLite应用程序。

注意:SQLite创建数据库是通过我们在cmd 下运行SQLite应用程序时输入的参数创建的。如我们编译源码后生成的SQLite的可执行程序是SqliteTest.exe,那么我们创建一个数据库的语句就是:可执行文件名    数据库名,如我们要建立一个名字为Stuent.db的数据库,这时我们应该输入SqliteTest    Stuent.db。

备注:

1.SQLite默认情况下就支持了中文的插入和显示,比起mysql好多了,起码不必设置;

2.尽管我们提供了数据库名,但如果这个数据库并不存在,SQLite并不会真正地创建它。SQLite会等到你真正地向其中增加了数据库对象之后才创建它,比如在其中创建了表或视图。这样做的原因是给你机会在将数据库写到外部文件之前对数据库做一些永久性的设置,如页的大小等。有些设置,如页大小、字符集(UTF-8或UTF-16)等,一旦数据库创建之后就不能再修改了。这个中间期是你能改它们的唯一机会。我们采用默认设置,因此,要将数据库写到磁盘,我们仅需要在其中创建一个表。输入如下语句:

sqlite> create table test (id integer primary key, value text);

现在你有了一个称为Stuent.db的数据库文件,其中包含一个表test,该表包含两个字段。

l  一个称为id的主键字段,它带有自动增长属性。无论何时你定义一个整型主键字段,SQLite 都会对该字段应用自动增长属性。

l  一个简单的称为value的文本字段。

向表中插入几行数据:

sqlite> insert into test (value)values('eenie');

sqlite> insert into test (value)values('meenie');

sqlite> insert into test (value)values('miny');

sqlite> insert into test (value)values('mo');

将插入的数据取回:

sqlite> .mode column

sqlite> .headerson

sqlite> SELECT * FROM test; 

SELECT语句前的两个命令(.headers and .mode)用于改进输出的格式,就是让表的字段显示出来并且字段之间有间隔。


原创粉丝点击