SQLite是一款开源的,嵌入式关系型数据库,它没有独立运行的进程,它与所服务的应用在应用程序进程空间内共生共存。它最初发布于2000年,使用C语言进行开发。这是官网: http://sqlite.org/ !

它支持ANSI SQL92标准: SQL92 is the third revision of the SQL standard.For more information about SQL92,please click here : http://en.wikipedia.org/wiki/SQL-92 .SQLite实现了零配置,下载安装即用,它简单,可移值,快速,具体细节可以访问其官网: http://sqlite.org/docs.html

  1. 下载CLS并且配置CLS(Command Line Shell):http://sqlite.org/download.html ,比如笔者使用的Windows 7 os,因为下载:Precompiled Binaries for Windows,建议加入PATH中;

    cmd模式输入:sqlite3, 结果如下图:

    

  2. CLS基础使用

CLS是使用和管理SQLite数据库最常用的工具,它在所有的平台上操作方式都是一样的,主要用于交互模式下执行查询操作以及完成各种数据库管理任务。

CLS把以点号开始的命名指定为它操作预留命令,例如:.help  结果如下

  A. 创建数据库:启动cmd,输入如下代码:    

sqlite3 your_data_name.db;

    之后会自动进入sqlite3命令行模式下。这里有个小注意:如果your_data_name.db是第一次创建,那么它不会立即在目录下显示。为什么不立即显示呢?这是为了在数据库结构提交到磁盘前进行永久数据库设置(例如页画大小,字符集),创建完之后,不能轻易更改;当你为your_data_name.db创建完第一张表之后,它就会出现目录下并且显示出来;

create table test(
id integer primary key,
name text,
age integer
);

sqlite3> .table  查看当前db的table ,会显示 test

  B. 设置显示格式

sqlite3> .show 查看当前设置,结果如下:

从上图可以得之:

  • mode的方式:list,其它它有8种方式分别:csv,list,html,column,insert,line,tabs,tcl; 如果有改变直接: .mode column 
  • headers是off状态,如果有改变: .headers on
  • separator为| ,如果要改成= : .separator =
  • width: 设置列的宽度: 例如: .width 12 10 8  (第一列12个"-" 字符,系统默认为10个"-")
  • output为标准输出
  • 空值输出为:""
insert into test values(1,'dylan',24);
insert into test(name,age) values('vic',23);

sqlite3> .mode column

select * from test ;

显示结果为:

Note: 名为id的列为主键并且是整型,当使用Insert into时没有指定,也同样具备自动增长属性,步长为1;

sqlite3> .headers on

个人建议开启:.headers on

sqlite3> .tables  查看表和视图。注意与.table的区别:.table仅查看表;

sqlite3> .indeces test  : 查看test表的索引

sqlite3> .schema 返回数据库的对象: 表结构,索引,视图

sqlite_master: 是自带系统特殊的表

从图中我们知道sqlite_master 具有如下字段名:type,name,tal_na,rootpa,sql

  C. 备份数据库

以上试验了三种方式,只有第三种方式才是正确:

  • 在cmd命令行下使用 sqlite3;
  • 不要进行sqlite> 模式使用;
  • 格式为:sqlite3 your_data_name.db .dump > backup_name
sqlite> .output demo1.sql
sqlite> .dump
sqlite> .output stdout
sqlite> .exit

使用.output方式也可以实现备份,不过这种试稍微复杂点,但不管那种方式都少不了:.dump

数据库导入:

sqlite3 demo1.db < demo1.sql

sqlite数据库备份是这种方式备份很简单!!!此篇为sqlite基础篇,此外还有sql 中篇,以及andorid之sqlite应用;然最近因为项目紧急,因此会在端午节过后更新。 

 

 

posted on 2013-06-04 22:48  idylan  阅读(1178)  评论(2编辑  收藏  举报