sqlite的基本用法

介绍

SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下只要确保SQLite的二进制文件存在即可开始创建、连接和使用数据库。如果您正在寻找一个嵌入式数据库项目或解决方案,SQLite是绝对值得考虑。

数据库操作

查询已有数据库

$ sqlite > .databases 

创建数据库

$ sqlite test.db

如果数据库已经存在了,则打开数据库。

创建表

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

sqlite>为sqlite的命令行提示符

查看数据库中存在的表

$ sqlite .tables

往表中插入数据

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

查询数据

sqlite> select * from test;

输出:

1|Micheal
2|Jenny
3|Francis
4|Kerk

设置格式化查询结果

sqlite> .mode column
sqlite> .header on
sqlite> select * from test;

输出:

id          value
----------- -------------
1           Micheal
2           Jenny
3           Francis
4           Kerk

修改表结构

增加列

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

default : 设置默认值 collate nocase : 设置排序规则,nocase即大小写无关

创建视图

sqlite> create view nameview as select * from mytable;

创建索引

sqlite> create index test_idx on mytable(value);

常用的sqlite命令

查看帮助信息

sqlite> .help 

退出sqlite

sqlite> .quit 

显示表结构

sqlite> .schema [table]

获取所有表和视图

sqlite > .tables

获取指定表的索引列表

sqlite > .indices [table ]

导出数据库到 SQL 文件

sqlite > .output [filename ] 
sqlite > .dump 
sqlite > .output stdout

从 SQL 文件导入数据库

sqlite > .read [filename ]

格式化输出数据到 CSV 格式

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

从 CSV 文件导入数据到表中

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

备份数据库

/* usage: sqlite [database] .dump > [filename] */
sqlite mytable.db .dump > backup.sql

恢复数据库

/* usage: sqlite [database ] < [filename ] */ 
sqlite mytable.db < backup.sql

ref : http://www.oschina.net/question/12_53183