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','22222','shanghai'); sqlite> insert into class(name,address) values('Tom','22222','nanjing'); sqlite> insert into class(name,address) values('Mary','female','33333','beijing'); sqlite> insert into class(name,address) values('Jacky','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 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|