SQLite3 使用
?软件属于公共财(public domain),SQLite可说是某种「美德软件」(virtueware),作者本人放弃着作权,而给使用SQLite的人以下的「祝福」(blessing): SQLite顾名思议是以SQL为基础的数据库软件,SQL是一套强大的数据库语言,主要概念是由「数据库」、「资料表」(table)、「查询指令」(queries)等单元组成的「关联性数据库」(进一步的概念可参考网络上各种关于SQL及关联性数据库的文件)。因为SQL的查询功能强大,语法一致而入门容易,因此成为现今主流数据库的标准语言(微软、Oracle等大厂的数据库软件都提供SQL语法的查询及操作)。 以下我们就建立数据库、建立资料表及索引、新增资料、查询资料、更改资料、移除资料、sqlite3命令列选项等几个项目做简单的介绍。 目录 $ sqlite3 foo.db 在sqlite3提示列下操作 SQLite version 3.1.3 SQL的指令格式 建立资料表 create table film(title,length,year,starring); 这个create table指令的语法为: create table table_name(field1,field2,field3,...); 建立索引 create index film_title_index on film(title); create index index_name on table_name(field_to_be_indexed); 加入一笔资料 insert into table_name values(data1,data2,data3,...); insert into film values ('Silence of the Lambs,The',118,1991,'Jodie Foster'); 查询资料 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'; select * from film where starring like 'Jodie%'; select title,year from film where starring like 'Jodie%' and year >= 1985 order by year desc limit 10; select count(*) from film; select count(*) from film where year >= 1985; 如何更改或删除资料 例如有一笔资料的名字打错了: update film set starring='Jodie Foster' where starring='Jodee Foster'; delete from film where year < 1970; 其他sqlite的特别用法 sqlite3 film.db "select * from film;" sqlite3 -html film.db "select * from film;" sqlite3 film.db ".dump" > output.sql sqlite3 film.db < output.sql begin; commit; 至于为什么要写这篇教学呢?除了因为OS X Tiger大量使用SQLite之外(例如:Safari的RSS reader,就是把文章存在SQLite数据库里!你可以开开看~/Library/Syndication/Database3这个档案,看看里面有什么料),OpenVanilla从0.7.2开始,也引进了以SQLite为基础的词汇管理工具,以及全字库的注音输入法。因为使用SQLite,这两个模块不管数据库内有多少笔资料,都可以做到「瞬间启动」以及相当快速的查询回应。 将一套方便好用的数据库软件包进OS X中,当然也算是Apple相当相当聪明的选择。再勤劳一点的朋友也许已经开始想拿SQLite来记录各种东西(像我们其中就有一人写了个程序,自动记录电池状态,写进SQLite数据库中再做统计......)了。想像空间可说相当宽广。 目前支援SQLite的程序语言,你能想到的大概都有了。这套数据库2005年还赢得了美国O'Reilly Open Source Conference的最佳开放源代码软件奖,奖评是「有什么东西能让Perl,Python,PHP,Ruby语言团结一致地支援的?就是SQLite」。由此可见SQLite的地位了。而SQLite程序非常小,更是少数打 "gcc -o sqlite3 *",不需任何特殊设定就能跨平台编译的程序。小而省,小而美,SQLite连网站都不多赘言,直指SQL语法精要及API使用方法,原作者大概也可以算是某种程序设计之道(Tao of Programming)里所说的至人了。 Enjoy /usr/bin/sqlite3 in your OS X Tiger. :) 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sunrock/archive/2010/09/29/5914602.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |