SQLite是遵守ACID关系数据库管理系统,它包含在一个相对小的C中。它是D.RichardHipp创建的公有领域项目。

不像常见的客户端/服务器结构范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。

Windows 上如何安装Sqlite

  1.获得命令行程序

  SQLite命令行程序(CLP)是开始使用SQLite的最好选择,按照如下步骤获取CLP:

  1).打开浏览器进入SQLite主页,www.sqlite.org

  2).单击页面顶部的下载链接(Download)选项,进入下载页面。

  3).滚动鼠标到“Precompiled Binaries for Windows”,选择sqlite-shell-win32-x86-3071401.zip(第一项),点击下载。

  4).使用解压工具,将其解压。zip文件中包含一个sqlite3.exe文件,可以从解压文件所在位置使用sqlite;如果你想从任何目录下运行CLP,需要将该文件复制到Windows系统路径下。默认情况下,Windows中工作的路径是根分区下的(C:\Windwos\System32)。

  5).打开运行窗口,输入CMD,调出Windows命令行窗口。

  6).在命令行窗口输入sqlite3并按回车,将出现SQLite命令行提示符。当SQLite命令行提示符出现时,输入.help,将出现一列类似相关命令的说明。输入.exit后退出程序。

  现在你已经有一份可以工作的安装在系统上的SQLite CLP副本了。

  如果此刻就要使用SQLite,请关注下一节(Shell 模式的CLP)。

创建首个 SQLite 数据库

现在你已经安装了 SQLite 数据库,接下来我们创建首个数据库。在命令行窗口中输入如下命令来创建一个名为 test.db 的数据库。

  1. sqlite3 test.db   (如果test.db不存在则创建,存在则打开)

创建表:

  1. sqlite> create table mytable(id integer primary key, value text);
  2. 2 columns were created.

该表包含一个名为 id 的主键字段和一个名为 value 的文本字段。

注意: 最少必须为新建的数据库创建一个表或者视图,这么才能将数据库保存到磁盘中,否则数据库不会被创建。

接下来往表里中写入一些数据:

  1. sqlite> insert into mytable(id, value) values(1, 'Micheal');
  2. sqlite> insert into mytable(id, value) values(2, 'Jenny');
  3. sqlite> insert into mytable(value) values('Francis');
  4. sqlite> insert into mytable(value) values('Kerk');

查询数据:

  1. sqlite> select * from mytable;
  2. 1|Micheal
  3. 2|Jenny
  4. 3|Francis
  5. 4|Kerk
  6. SQlite内置命令
    它除了能执行SQL语句以外还提供一组内置的命令,它们是以点.开始,比如说查看帮助信息就是 .help退出是 .exit 跟 .quit

设置格式化查询结果:

  1. sqlite> .mode column (注意没有分号,否则报错)
  2. sqlite> .header on;   (注意有分号,关于这点比较奇怪,一时有分号,一时没有。)
  3. sqlite> select * from test;
  4. id          value
  5. ----------- -------------
  6. 1           Micheal
  7. 2           Jenny
  8. 3           Francis
  9. 4           Kerk

.mode column 将设置为列显示模式,.header 将显示列名。

修改表结构,增加列:

  1. sqlite> alter table mytable add column email text not null '' collate nocase;;

创建视图:

  1. sqlite> create view nameview as select * from mytable;

创建索引:

  1. sqlite> create index test_idx on mytable(value);

4. 一些有用的 SQLite 命令

显示表结构:

  1. sqlite> .schema [table]

显示如:

sqlite> .schema mytable
CREATE TABLE mytable(id integer primary key,value text, email text);
CREATE INDEX test_idx on mytable(value);

获取所有表和视图:

  1. sqlite > .tables  (注意没有分号)

获取指定表的索引列表:

  1. sqlite > .indices [table ]

导出数据库到 SQL 文件:

  1. sqlite > .output [filename ]
  2. sqlite > .dump
  3. sqlite > .output stdout

文件内容为:

PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE member(id integer primary key,age integer);
CREATE TABLE mytable(id integer primary key,value text, email text);
INSERT INTO "mytable" VALUES(1,'suming',NULL);
INSERT INTO "mytable" VALUES(2,'suming2',NULL);
INSERT INTO "mytable" VALUES(3,'suming3',NULL);
CREATE VIEW nameview as select * from mytable;
CREATE INDEX test_idx on mytable(value);
COMMIT;

从 SQL 文件导入数据库:

  1. sqlite > .read [filename ]

格式化输出数据到 CSV 格式:

  1. sqlite >.output [filename.csv ]
  2. sqlite >.separator ,
  3. sqlite > select * from test;
  4. sqlite >.output stdout

从 CSV 文件导入数据到表中:

  1. sqlite >create table newtable ( id integer primary key, value text );
  2. sqlite >.import [filename.csv ] newtable

备份数据库:

  1. /* usage: sqlite3 [database] .dump > [filename] */
  2. sqlite3 mytable.db .dump > backup.sql

恢复数据库:

  1. /* usage: sqlite3 [database ] < [filename ] */
  2. sqlite3 mytable.db < backup.sql

原文链接:http://www.oschina.net/question/12_53183

更多:

http://www.cnblogs.com/akwwl/archive/2012/12/10/2807206.html

http://www.cnblogs.com/hnrainll/archive/2011/04/22/2024627.html

SQLite数据库安装与使用的更多相关文章

  1. sqlite数据库安装配置

    一.SQLite简介    SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中, ...

  2. SQLite 数据库安装与创建数据库

    嵌入式关系数据库 Ubuntu $ sudo apt-get install sqlite3 sqlite3-dev CentOS, or Fedora $ yum install SQLite3 s ...

  3. Windows Phone 九、SQLite数据库

    使用SQLite数据库 安装 SQLite for Windows Phone 8.1 插件新建 Windows Phone 8.1 项目添加 SQLite for Windows Phone 8.1 ...

  4. 台账建立和sqlite数据库的数据导入和导入问题

    principle platform command starts with "."; whiel sql command doesn't starts  with ". ...

  5. windows phone 8.1开发SQlite数据库引用安装

    原文出自:http://www.bcmeng.com/windows-phone-sqlite/ windows phone 8.1开发SQlite数据库引用安装 第一步: 安装SQlite forw ...

  6. SQLite数据库下载、安装和学习

    SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. 其特点是高度便携.使用方便.结构紧凑.高效.可靠.与其他数据库管理系统不同,SQLite 的安装和运行非常 ...

  7. sqlite数据库下载安装和初步操作和所遇到的问题near &quot;sqlite3&quot;:syntax error

    1.下载sqlite数据库:http://www.sqlite.org/download.html 假设是在window上安装须要在 Windows 区下载预编译的二进制文件.如图下载下载 sqlit ...

  8. Android之SQLite数据库篇

    一.SQLite简介 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大. 二.SQLite的特点 1.轻量级使用 SQLit ...

  9. 【Win 10 应用开发】Sqlite 数据库的简单用法

    如果老周没记错的话,园子里曾经有朋友写过如何在 UWP 项目中使用 Sqlite数据库的文章.目前我们都是使用第三方封装的库,将来,SDK会加入对 Sqlite 的支持. 尽管目前 UWP-RT 库中 ...

随机推荐

  1. android 复杂的json数据解析

    1.通过谷歌的Gson来进行解析: json数据:sTotalString = {"message":"success","result": ...

  2. HDU-1869六度分离

    Problem Description 1967 年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不 ...

  3. HDU 3262 Seat taking up is tough (模拟搜索)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3262 题意:教室有n*m个座位,每个座位有一个舒适值,有K个学生在不同时间段进来,要占t个座位,必须是连 ...

  4. linux命令-查看当前目录下所有文件的大小:“ll -h”

    //ll -h 命令只会显示文件的大小,而文件夹及其子目录或文件的大小不会显示.[root@hadoop01 soft]# ll -h total 2.1G -rw-r--r--. 1 root ro ...

  5. 在Eclipse里设置格式化代码时不格式化注释

    在Eclipse里设置格式化代码时不格式化注释 今天格式化代码 发现直接format会把注释也一块格式化了,有时候会把好好的注释弄的很乱.甚为头疼. 查阅之后解决办法如下: Windows -> ...

  6. SUBTOTAL 函数与所在行

    SUBTOTAL 函数与所在行 设计要点:数据汇总.隐藏.筛选 阿金:给你推荐一个函数SUBTOTAL. 秀秀:又是函数!俺不喜欢. 阿金:虽然你不喜欢函数,但是你也离不了啊,比如汇总. 秀秀:那倒是 ...

  7. 《Effective C++ 》学习笔记——条款11

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  8. hadoop权威指南 chapter2 MapReduce

    MapReduce MapReduce is a programming model for data processing. The model is simple, yet not too sim ...

  9. [RxJS] Refactoring CombineLatest to WithLatestFrom

    This lesson shows why it’s preferable to using withLatestFrom instead of combineLatest in certain sc ...

  10. jquery之营销系统(补偿记录)

    var appPath = getAppPath(); $(function(){ $("#opreateHtml").window("close"); $(& ...