sqlite3简介及常用查询语句的应用
sqlite3 数据库简介
SQLite 数据库,是一个非常轻量级自包含(lightweight and self-contained)的DBMS,它可移植性好,很容易使用,很小,高效而且可靠。
SQLite嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。从外部看,它并不像一个RDBMS,但在进程内部,它却是完整的,自包含的数据库引擎。
嵌入式数据库的一大好处就是在你的程序内部不需要网络配置,也不需要管理。因为客户端和服务器在同一进程空间运行。
SQLite 的数据库权限只依赖于文件系统,没有用户帐户的概念。SQLite 有数据库级锁定,没有网络服务器。它需要占用内存,但其它开销很小,适合用于嵌入式设备,你需要做的仅仅是把它正确的编译到你的程序。
sqlite常用查询语句
SQLite创建数据库
SQLite使用起来非常方便,仅仅需要敲入带有SQLite数据库名字的"sqlite3"命令即可。如果文件不存在,则创建一个新的(数据库)文件。然后sqlite3程序将提示你输入SQL。敲入SQL语句以分号“;”结束,敲回车键之后,SQL语句就会执行。例如,创建一个包含一个数据库为“user.db”表“cars”的SQLite数据库。
创建命令:
创建数据库user.db
sqlite3 user.db
创建表cars
create table carsl(name varchar(10), years smallint, price float);
查询表
.table
插入数据
insert into cars values('audi', 1994, 530000.5);
insert into cars values('volvo', 2001, 303478.5);
显示头
.header on
修改显示模式
.mode column
查询数据
select * from cars; //查询cars表 中所有数据
sqlite> select * from tbl1 where one='xxx';
删除全部语句
sqlite> delete from cars;
更新语句
sqlite>update cars set name='kaka' where name="mini";
删除语句
sqlite> delete from cars where name="kaka";
sqlite>delete from cars; //删除 cars表 中所有数据
条件语句的应用 "and" "or" "and or"
sqlite> delete from cars where name="volvo" or name="audi";
sqlite> delete from cars where name="volvo" and price=324200;
sqlite> delete from cars where (name="volvo" or name="audi") and price=324203;
显示结果:
其操作和普通的关系数据库没有太大的差异,可以很方便的对数据进行增、删、改、查。
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)