SQLite命令行解释器
sqlite提供了一个简单的命令行工具, 用于输入并执行SQL语句和点号命令操作sqlite数据库
下面简单介绍它的用法
在命令提示符后面输入sqlite3,
后面跟上一个存储数据库的文件路径, 如果文件不存在,则会自动创建对应的数据库,如果存在则是打开数据库
如果命令后面不跟参数,则会在内存中创建一个临时数据库,程序退出时,会自动删除该数据库
下面的代码将会创建一个名字叫crm的数据库,在数据库里创建一张student表和简单的数据操作
D:\tmp\sqlite_data>sqlite3 crm.db
SQLite version 3.8.4.3 2014-04-03 16:53:12
Enter ".help" for usage hints.
sqlite> .databases
seq name file
--- --------------- ----------------------------------------------------------
0 main D:\tmp\sqlite_data\crm.db
sqlite> .tables
sqlite> create table student(sid int, sname varchar(20), sex char(1), age smallint);
sqlite> .tables
student
sqlite> select * from student;
sqlite> insert into student values(1, 'jack', '男', 23);
sqlite> insert into student values(2, 'mary', '女', 27);
sqlite> insert into student(sid, sname, sex) values(2, 'mary', '女');
sqlite> select * from student;
1|jack|男|23
2|mary|女|27
2|mary|女|
sqlite> .mode line
sqlite> select * from student;
sid = 1
sname = jack
sex = 男
age = 23
sid = 2
sname = mary
sex = 女
age = 27
sid = 2
sname = mary
sex = 女
age =
每条SQL语句都要以分号结尾,否则会给出一个继续输入的提示,直到遇到分号,才表示SQL语句结束.
sqlite> select * from student;
1|jack|男|23
2|mary|女|27
2|mary|女|
sqlite> select * from
...> student
...> ;
1|jack|男|23
2|mary|女|27
2|mary|女|
sqlite>
下面将给出其他的常用数据库操作
SQL语句
点号命令
可以通过.help命令查看所有的.号命令的介绍,下面介绍几个常用的
命令 | 格式 | 说明 |
---|---|---|
quit | .quit | 退出程序 |
exit | .exit | 同上 |
open | .open ?FILENAME? | 关闭当前数据库,并重新打开指定数据库文件 |
databases | .databases | 列出数据库的名字和文件 |
table | .tables ?TABLE? | 列出匹配的表,不带参数会列出所有的表 |
mode | .mode MODE | 指定输出模式 |
show | .show | 显示各种设置的值 |
headers | .header(s) ON|OFF | 打开关闭标题的显示 |
read | .read FILENAME | 执行文件中的SQL语句 |
backup | .backup ?DB? FILE | 备份数据库DB(默认"main")到FILE文件中 |
save | .save FILE | 把内存数据库写入文件中 |
echo | .echo ON|OFF | 打开关闭命令的回显 |
help | .help | 显示命令的用法信息 |
.print STRING... | 打印字面值常量 |