Sqlite是一款轻型的数据库,实现了多数SQL-92标准,包括事务(原子性,一致性,隔离性和持久性 ACID),触发器与多数复杂查询。对于一个移动手持设备的应用开发者,Sqlite是居家旅行必备数据库。言归正传。
在Ubuntu 12.04下进行Sqlite安装及使用的简单实例如下:
1. 在终端下输入以下命令
sudo apt-get install sqlite3
之后在终端下输入如下命令,查看下安装好的sqlite的版本
sqlite3 -version
我的环境下得到版本信息如下,表明sqlite3安装好了。
3.7.9 2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e
2. 安装Sqlite3编译需要的工具包
如果,你需要的话可以安装该工具包。只是为了体验一把,可以不安装。该项是可选项。
sudo apt-get install libsqlite3-dev
3. 创建数据库
在终端下使用命令行创建一个新的文件夹Databases, 并进入该文件夹
sxd@sxd-ThinkPad-T400:~$ mkdir Databases
sxd@sxd-ThinkPad-T400:~$ cd Databases/
之后在终端输入如下命令
sqlite3 test.db
若目录下存在test.db文件,则会打开该数据库文件,若不存在,则会创建一个数据库文件,并进入数据库操作。
sxd@sxd-ThinkPad-T400:~/Databases$ sqlite3 test.db
SQLite version 3.7.9 2011-11-01 00:52:41
Enter “.help” for instructions
Enter SQL statements terminated with a “;”
sqlite>
4. 查看数据库
sqlite> .database
seq name file
— ————— ———————————————————-
0 main /home/sxd/Databases/test.db
sqlite>
5.创建数据表sqlite> create table student(name varchar(10), age smallint);
6.查看数据表
查看数据库有那写数据表 可以用.table或者.tables
sqlite> .table
student teacher
sqlite> .tables
student teacher
sqlite>
7. 插入数据
sqlite> insert into student values(‘fck’, 21);
sqlite> insert into student values(“shit”,20);
8. 查询数据
sqlite> select * from student;
fck|21
shit|20
9. 退出数据库
sqlite> .exit;
10. 安装其它语言的支持
//PHP支持
sudo apt-get install php5-sqlite
//Ruby支持
sudo apt-get install libsqlite3-ruby
//Python支持
sudo apt-get install python-pysqlite2
11. 可视化工具
Ubuntu下sqlite3的可视化工具很多,这里我安装的是sqlitebrowser
在命令行下
sudo apt-get install sqlitebrowser
sqlitebrowser用法
在命令行下
sxd@sxd-ThinkPad-T400:~/Databases$ sqlitebrowser test.db
12. 删除表
drop table student
13. 删除数据库
SQLite无法同其他数据库那样删除数据库文件,即DROP DATABASE test;无效,但是我们可以直接像删除文件一样删除数据库文件,在/home/yourname/Databases下面删除test.db文件即可。
14. 一些有用的 SQLite 命令
显示表结构:
sqlite> .schema [table “” not found /]
获取所有表和视图:
sqlite > .tables
获取指定表的索引列表:
sqlite > .indices [table “” not found /]
导出数据库到 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: sqlite3 [database] .dump > [filename] */
sqlite3 mytable.db .dump > backup.sql
恢复数据库:
/* usage: sqlite3 [database ] < [filename ] */
sqlite3 mytable.db < backup.sql