SQLite 数据库,是一个非常轻量级自包含(lightweight and self-contained)的DBMS,它可移植性好,很容易使用,很小,高效而且可靠。
SQLite嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。从外部看,它并不像一个RDBMS,但在进程内部,它却是完整的,自包含的数据库引擎。
嵌入式数据库的一大好处就是在你的程序内部不需要网络配置,也不需要管理。因为客户端和服务器在同一进程空间运行。
SQLite 的数据库权限只依赖于文件系统,没有用户帐户的概念。SQLite 有数据库级锁定,没有网络服务器。它需要占用内存,但其它开销很小,适合用于嵌入式设备,你需要做的仅仅是把它正确的编译到你的程序。
SQLite创建数据库
SQLite使用起来非常方便,仅仅需要敲入带有SQLite数据库名字的"sqlite3"命令即可。如果文件不存在,则创建一个新的(数据库)文件。然后sqlite3程序将提示你输入SQL。敲入SQL语句以分号“;”结束,敲回车键之后,SQL语句就会执行。例如,创建一个包含一个数据库为“user”表“tbl”的SQLite数据库。
创建命令:
创建数据库user
sqlite3 user
创建表tbl
create table tbl(name char(10), age smallint, score float);
查询表
.table
插入数据
insert into tbl values('yanggang', 24, 98);
insert into tbl values('sunboy', 20, 78.5);
查询数据
select * from tbl;
修改显示模式
.mode column
具体步骤:
其操作和普通的关系数据库没有太大的差异,可以很方便的对数据进行增、删、改、查。
SQLite可以使用8种方式显示查询结果,大大方便了程序对数据的处理,sqlite3程序可以以八种不同的格式显示一个查询的结果:
.mode MODE ?TABLE? Set output mode where MODE is one of:
csv Comma-separated values
column Left-aligned columns. (See .width)
html HTML <table> code
insert SQL insert statements for TABLE
line One value per line
list Values delimited by .separator string
tabs Tab-separated values
tcl TCL list elements
使用方法: .mode column (输出格式切换到行模式,如上图)
SQLite3 导入导出数据库
导出数据库
sqlite> .databases (显示数据库)
sqlite> .backup main .user.sql (备份数据库main)
sqlite> .backup .user2.sql (备份默认数据库main)
导出表
sqlite> .output user_tbl.sql
sqlite> .dump tbl
具体步骤:
导入数据库
yanggang@doodlemobile:~$ sqlite3 user2.sql