SQLite
SQLite是一个SQL数据库引擎,该引擎具有自包含,无服务器,零配置,事务性等特征。SQLite是目前被部署最广泛的一个SQL数据库引擎,并且其是开源的项目。
开始使用
首先要下载对应的预编译库,或者下载源码自己进行编译。
创建新的数据库:
在shell 或 dos 命令行中,输入:”sqlite3 test.db”,这条命令将创建一个新的数据库,名字为”test.db”。
在命令行行输入SQL命令,创建和使用新的这个数据库。
注:对已有的数据库输入该命令表示进入数据库操作命令行,即可对这个已有的数据库进行操作,否则建立新的数据库。
SQLite命令
在SQLite中包含了一个简单的命令行工具,sqlite3.exe,通过它用户可以手动输入SQL命令来操作SQLite数据库。如下提供了对sqlite3编程的简单介绍。
开始
启动sqlite3,直接输入sqlite3 紧跟着SQLite的数据库名字。如果数据库不存在,则自动创建一个新的数据库。SQLite3程序会提示输入SQL语句。输入SQL语句,要以分号结尾,按Enter键,则执行SQL语句。
例如创建一个ex1数据库,并且创建tbl1表如下:
> sqlite3 ex1
SQLite version 3.6.11
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
创建或打开数据库成功,进入SQLite命令行。
创建数据表
sqlite> create table tbl1(one varchar(10), two smallint);
插入数据:
sqlite> insert into tbl1 values('hello!',10);
sqlite> insert into tbl1 values('goodbye', 20);
查询所有数据
sqlite> select * from tbl1;
hello!|10
goodbye|20
sqlite>
可以使用文件结束符,通常是Ctrl-D,来终止sqlite3程序。使用中断字符,通常是Ctrl-C来停止一个正在运行的SQL语句。
确保在SQL语句结束时输入一个分号,SQLite3以分号作为确认SQL命令输入完成的标识。如果没有分号,直接回车,则SQLite3会给出提示符,提示继续输入命令。这样可以将一个SQL语句扩展到多行中。
sqlite> CREATE TABLE tbl2 (
...> f1 varchar(30) primary key,
...> f2 text,
...> f3 real
...> );
sqlite>
查询SQLITE_MASTER表
SQLite数据库的数据库模式是存在一个特殊表中的,叫做”sqlite_master”,可以执行Select语句,查询该表中的内容。
sqlite> select * from sqlite_master;
type = table
name = tbl1
tbl_name = tbl1
rootpage = 3
sql = create table tbl1(one varchar(10), two smallint)
sqlite>
不能对sqlite_master表做Drop table,update,insert,或delete操作。Sqlite_master表是在创建或删除表的时候自动更新的。不能对该表做手工的修改。
Sqlite3的特殊命令
很多时候,sqlite3仅仅读入或输入几行到SQLite库来执行,但是如果一个命令以点开始”.”,那么这一行被截取,将由sqlite3程序自己进行解释。这些点命令用于改变查 询的输出格式,或者执行特定的预先打包的查询语句。
可用的特殊命令可以通过.help进行查询:
sqlite>.help
.backup