• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > 编程与数据库 > SQLite >

SQLite学习笔记总结(精华版)(2)

来源: www.dedecms8.com 编辑:织梦吧 时间:2013-08-09点击:

4.TEXT:字符串文本。
5.BLOB:二进制对象。

五.联系人表格结构如下

create table contact(id integer primary key autoincrement,

lastname varchar(20),firstname varchar(20),

mobile varchar(30), telephone varchar(20),

email varchar(30), company varchar(50),

department varchar(16),address varchar(80),

id1 interger,id2 integer, updatetime datetime);

六.查看数据库有哪些数据表

命令是:.tables

七.如何插入一条记录

insert into contact(lastname,firstname,mobile,telephone,updatetime) values('刘','畅','13910128132','010-81749136','2009-07-22');

八.查看数据表的结构

针对整个数据库

.schema

针对仅仅是contact联系人该表

.schema contact 注意没有分号

九.如何打开一个已经创建的数据库

sqlite3 test.db

十.如何解决如下问题

SQL error: near "sqlite3": syntax error

 

SQL指令都是以分号(;)结尾的。如果遇到两个减号(--)则代表注解,sqlite3会略过去

十一.如何建立索引

create index index_name on table_name(field_to_be_indexed);

十二.如何删除一张数据表

drop table contact;

十三.查看当前的数据库

.database

十四.如何删除一个数据表的数据

delete from contact;

十五.如何导入一个文件到某个表中

.import 文件路径 表名

注意这是非SQL语句,所以不加分号

十六.如何设置文件字段的分隔符

.separator “,”

.import e:/contact.txt contact

十七.如何查看当前sqllite字段的分隔符是什么?

.show

十八.如何将查询结果导出到一个文件

第一步:.output a.txt

第二步:执行要导出的SQL语句

第三步:.output stdout

十九.SQL查询语句

select * from film order by year limit 10;

select * from film order by year desc limit 10;

select count(*) from film;

select * from film where starring like 'Jodie%';

select * from film where starring='Jodie Foster';

select title, year from film order by year desc limit 10;

select columns from table_name where expression;

最常见的用法,当然是倒出所有数据库的内容:

select * from film;

如果资料太多了,我们或许会想限制笔数:

select * from film limit 10;

或是照着电影年份来排列:

select * from film order by year limit 10;

或是年份比较近的电影先列出来:

select * from film order by year desc limit 10;

或是我们只想看电影名称跟年份:

select title, year from film order by year desc limit 10;

查所有茱蒂佛斯特演过的电影:

select * from film where starring='Jodie Foster';

查所有演员名字开头叫茱蒂的电影('%' 符号便是 SQL 的万用字符):

select * from film where starring like 'Jodie%';

查所有演员名字以茱蒂开头、年份晚于1985年、年份晚的优先列出、最多十笔,只列出电影名称和年份:

select title, year from film where starring like 'Jodie%' and year >= 1985 order by year desc limit 10;

有时候我们只想知道数据库一共有多少笔资料:

select count(*) from film;

有时候我们只想知道1985年以后的电影有几部:

select count(*) from film where year >= 1985;

(进一步的各种组合,要去看SQL专书,不过你大概已经知道SQL为什么这么流行了:这种语言允许你将各种查询条件组合在一起──而我们还没提到「跨数据库的联合查询」呢!)

如何更改或删除资料

了解select的用法非常重要,因为要在sqlite更改或删除一笔资料,也是靠同样的语法。

例如有一笔资料的名字打错了:

update film set starring='Jodie Foster' where starring='Jodee Foster';

就会把主角字段里,被打成'Jodee Foster'的那笔(或多笔)资料,改回成Jodie Foster。

delete from film where year < 1970;

就会删除所有年代早于1970年(不含)的电影了。

其他sqlite的特别用法

sqlite可以在shell底下直接执行命令:

sqlite3 film.db "select * from film;"

输出 HTML 表格:

sqlite3 -html film.db "select * from film;"

将数据库「倒出来」:

sqlite3 film.db ".dump" > output.sql

利用输出的资料,建立一个一模一样的数据库(加上以上指令,就是标准的SQL数据库备份了):

sqlite3 film.db < output.sql

在大量插入资料时,你可能会需要先打这个指令:

begin;

插入完资料后要记得打这个指令,资料才会写进数据库中:

commit;

创建数据库文件:
   >SQLite3 d:/test.db 回车
就生成了一个test.db在d盘。
这样同时也SQLite3挂上了这个test.db
   2)
用.help可以看看有什么命令
   >.help 回车即可
   3)可以在这里直接输入SQL语句创建表格 用;结束 ,然后回车就可以看到了
   4)看看有创建了多少表
   >.tables
   5)看表结构
   >.schema 表名
   6)看看目前的数据库
   >.database
   7)如果要把查询输出到文件
   >.output 文件名
   > 查询语句;
查询结果就输出到了文件c:/query.txt

把查询结果用屏幕输出

猜你也喜欢看这些...

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ