SQLite命令学习

发布时间:2020-01-25编辑:脚本学堂
SQLite命令学习

1. 创建数据库
创建数据库test.db

复制代码 代码如下:
$ sqlite3 test.db       // 运行sqlite3,并指定数据库
SQLite version 3.5.1
Enter ".help" for instructions
sqlite> .help        // 查看帮助

后面的参数指定创建或打开的数据库。

2. 创建表
创建一个表class,有5列分别是id、name,sex、phone、address。

复制代码 代码如下:

sqlite> create table class(id integer primary key autoincrement, name varchar(10) not null, sex varchar(6), phone char(15), address varchar(20));

设置主键使用INTEGER PRIMARY KEY,不能用INT。自动增加是autoincrement,不同于mysql的auto_increment。

3. 插入数据
向表class中插入数据

复制代码 代码如下:

sqlite> insert into class(id, name, sex, phone, address) values(1, 'hongdy', 'male', '11111', 'shanghai');
sqlite> insert into class(name, sex, phone, address) values('Tom', 'male', '22222', 'nanjing');
sqlite> insert into class(name, sex, phone, address) values('Mary', 'female', '33333', 'beijing');
sqlite> insert into class(name, sex, phone, address) values('Jacky', 'female', '44444', 'guangzhou');

假定插入数据之前,数据表是空的,第一条数据指定了id,实际上这个值是自动增加的,下面的插入语句就没有指定这个值。

4. 查询数据
查询表class中的数据

复制代码 代码如下:
sqlite > select * from class;     // 选择所有数据
sqlite > select * from class where name="hongdy";// 选择特定的行
sqlite > select name, phone from class;   // 选择特定的列
sqlite> select * from class order by id desc;  // 根据ID降序排列
sqlite> select * from class order by id asc;  // 根据ID升序排列
sqlite> select * from class order by id desc limit 1;// 选择ID最大的一行
sqlite> select * from class where id=(select max(id) from class); // 通过函数取ID最大值一行

limit子句可被用来限制SELECT语句返回的行数。Limit有1或2个参数,如给定2个参数,第一个指定要返回的第一行偏移量,第二个指定返回行的最大数目,初始行的偏移量是0。

5. 更新数据
更新表class中name='hongdy'的phone='88888'

复制代码 代码如下:
sqlite> update class set phone='88888' where name='hongdy';

6. 删除数据
删除表中的某一行,或删除表中所有的行

复制代码 代码如下:
sqlite> delete from class where name='hongdy'; // 删除表中name='hongdy'的那一行
sqlite> delete from class;     // 删除表中所有的行

7. 删除表
删除表class

复制代码 代码如下:
sqlite> drop table class;

8. 设置输出模式
表的输出模式有:column、list、tables、csv、insert、line、html、tcl。
设置完表的模式后,使用select查询语句,即可看到最新的输出格式。

复制代码 代码如下:

sqlite> .mode column class;     // 设置column输出模式
sqlite> select * from class;     // 查看column输出模式结果

sqlite> .mode list class;      // 设置list输出模式
sqlite> select * from class;     // 查看list输出模式结果

sqlite> .mode tables class;     // 设置tables输出模式
sqlite> select * from class;     // 查看tables输出模式结果

sqlite> .mode cvs class;      // 设置cvs输出模式
sqlite> select * from class;     // 查看cvs输出模式结果

sqlite> .mode insert class;     // 设置insert输出模式
sqlite> select * from class;     // 查看insert输出模式结果

sqlite> .mode line class;      // 设置line输出模式
sqlite> select * from class;     // 查看line输出模式结果

sqlite> .mode html class;     // 设置html输出模式
sqlite> select * from class;     // 查看html输出模式结果

9. 导出数据
先设置导出的文件名,然后查询数据,这样查询的数据就全部输出到指定的文件,终端看不到数据,此后所有的查询操作,数据都输出到文件。如果想重新让数据在终端显示,设置输出模式为stdout

复制代码 代码如下:

sqlite> .output 'result'      // 指定导出文件
sqlite> select * from class;     // 查询数据,输出到文件
sqlite> .read 'result'       // 查看到处的文件数据

sqlite> .output stdout      // 重新设置输出终端
sqlite> select * from class;     // 查询数据,可在终端看到数据

10. 导入数据
从某一个文件中导入数据

复制代码 代码如下:
sqlite> .import 'result' class     // 将result文件的数据导入到表class中
sqlite> select * from class;     // 查询数据

11. 显示数据库信息

复制代码 代码如下:

sqlite> .database       // 显示数据库文件
sqlite> .tables        // 显示数据库中的表
sqlite> .schema       // 显示数据库中所有表的创建模式
sqlite> .schema class      // 显示数据库中class表的创建模式

sqlite> .header on       // 显示表头
sqlite> .header off       // 关闭表头
sqlite> .show        // 显示sqlite设置

12. 显示时间
显示现在的日期、时间
 

复制代码 代码如下:
sqlite> select datetime("now");
2007-10-29 15:39:05
sqlite> select date("now");
2007-10-29
sqlite> select time("now");
15:39:19
上一篇:SQLite编程介绍
下一篇:SQLite安装