0

0

Sqlite的简单介绍和应用

php中文网

php中文网

发布时间:2016-06-07 14:53:25

|

1729人浏览过

|

来源于php中文网

原创

Sqlite的简单介绍和应用 (一)为什么要用sqlite3? 相信很多人跟我一样一开始对sqlite不太了解,不明白为什么要用sqlite,为什么不用Mysql(也是我喜欢的数据库之一)?其实,安我的理解是最重要的两点就是简单方便和小巧玲珑,不过还是把sqlite的特点跟大家


Sqlite的简单介绍和应用

 

(一)为什么要用sqlite3?

相信很多人跟我一样一开始对sqlite不太了解,不明白为什么要用sqlite,为什么不用Mysql(也是我喜欢的数据库之一)?其实,安我的理解是最重要的两点就是简单方便和小巧玲珑,不过还是把sqlite的特点跟大家说一下吧,

sqlite3的优点:  www.2cto.com  

(1)实现了绝大多数SQL92标准。整个数据库存储在一个单一的文件中

(2)数据库文件可以在不同字节许的机器之间自由共享

(3)提供了多种语言的绑定,如C/C++,python,java

(4)相对比较流行的客户/服务器数据库引擎运行的更快

(5)没有外部依赖,源代码位于公共域,可以用于任何用途。

(6)源代码开放,代码95%有较好的注释

(7)不需要配置,不需要安装,也不需要管理员

(8)sqlite不是一个用于连接到大型数据库服务器的客户端,而是非常适合桌面程序(如字典等)和小型网站的数据库服务器。

(9)sqlite直接读写在硬盘上的数据库文件。

 

(二)sqlite的安装  www.2cto.com  

(1)用系统的包管理器安装

sudo apt-get install sqlite3 sqlite3-doc

若是要安装图形界面,则输入以下指令

sudo apt-get install sqliteman sqliteman-doc

(2)编译安装

到官网(www.sqlite.org)上下载压缩包sqlite-3.*.*.tar.gz

$tar -xvf sqlite-3.*.*.tar.gz

$cd sqlite-3.*.*

$./configure

$make

$sudo make install
 

(三)sqlite的简单使用

sqlite3兼容大部分的SQL92语法,所以我们只需要学习几个sqlite3的几个特殊命令就可以了。不过为了完整,我还是在下面为大家演示了一些基本操作(如果看不懂的话,那么我想你需要补一点数据库的知识了:-))

首先在命令行执行 sqlite *.db就新建了一个库文件,我们的数据就都保存在这个文件里

$ sqlite3 test.db

SQLite version 3.7.9 2011-11-01 00:52:41

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite> create table test(  www.2cto.com  

   ...> ID integer primary key,

   ...> name varchar(12)

   ...> );

sqlite> insert into test values(1,"one");

sqlite> insert into test values(2,"Two");

sqlite> insert into test values(3,"Three");

sqlite> select * from test;

1|one

2|Two

3|Three

sqlite> update test set name="One" where ID=1;

sqlite> select * from test;

1|One

2|Two

3|Three

sqlite> delete from test where ID=3;

sqlite> create index ID_INDEX on test(ID);
 

好了,上面的操作都是符合SQL92标准的,下面的一些命令才是sqlite的特色

sqlite的特殊命令都是以.开头的,比如刚开始进入sqlite的命令行时提示说“ Enter ".help" for instructions",其中“.help"就是特殊命令,我们输入.help会看到以下信息,都是以"."开头的。  www.2cto.com  

sqlite> .help

.backup ?DB? FILE      Backup DB (default "main") to FILE

.bail ON|OFF           Stop after hitting an error.  Default OFF

.databases             List names and files of attached databases

.dump ?TABLE? ...      Dump the database in an SQL text format

......

这里面有几个经常使用的,跳出来说一下。

sqlite> .tables    --显示所有的表

test

sqlite> .schema    --显示所有的定义

CREATE TABLE test(

ID integer primary key,

name varchar(12)

);

CREATE INDEX ID_INDEX on test(ID);

另外

乐彼多用户商城系统LBMall(.net)
乐彼多用户商城系统LBMall(.net)

乐彼多用户商城系统,采用ASP.NET分层技术和AJAX技术,运营于高速稳定的微软.NET+MSSQL 2005平台;完全具备搭建超大型网络购物多用户网上商城的整体技术框架和应用层次LBMall 秉承乐彼软件优秀品质,后台人性化设计,管理窗口识别客户端分辨率自动调整,独立配置的菜单操作锁,使管理操作简单便捷。待办事项1、新订单、支付、付款、短信提醒2、每5分钟自动读取3、新事项声音提醒 店铺管理1

下载

.quit | .exit  退出

.output FILENAME 备份数据库

其他的自己看在线文档吧,就是.help命令了。
 

(四)sqlite的特别用法  www.2cto.com  

sqlite可以在shell直接运行命令

$sqlite3 test.db "select * from test;"      --显示表的内容

$sqlite3 -html test.db "select * from test;"    --将表输出为HTML

$sqlite3 test.db ".dump">test.sql   --备份数据库

$sqlite3 test.db

 

(五)用C/C++操作sqlite

我们若是用包管理器安装的sqlite3,那么很遗憾我们并没有用C操作sqlite3所需要的库,我们必须安装libsqlite3-dev

$sudo apt-get install libsqlite3-dev

若是编译安转的话,那么恭喜你,你已经可以用C操作sqlite3了,下面是我编写的一个关于test数据库的创建,插入,删除,更新,查询等的一个C程序,给大家献丑了。

 

//name:testdb.c

//Autor:prape

//date:2012-10-7

 

#include

#include

#include

 

int main(int argc,char **argv){

    sqlite3 *db=NULL;  www.2cto.com  

    char *errmsg=0;

    int sf;//打开sqlite3库返回的状态 

    //打开数据库

    sf=sqlite3_open("test.db",&db);//打开test.db,并把打开的数据库付给db

    if(sf){

        printf("can't open database test.db\n");

        sqlite3_close(db);

        return 0;

    }

    else{

        printf("open test.db successfully\n");

    }  www.2cto.com  

    //创建数据库

    char *sql="create table test(\

        ID integer primary key,\

        name varchar(12)\

        );";

    sqlite3_exec(db,sql,0,0,&errmsg);

    //插入记录

    sql="insert into \"test\" values(1,\"one\");";

    sqlite3_exec(db,sql,0,0,&errmsg);

    sql="insert into \"test\" values(2,\"Two\");";

    sqlite3_exec(db,sql,0,0,&errmsg);

    sql="select * from \"test\";";

    //查询记录

    int row=0,column=0;

    char **result;

    sqlite3_get_table(db,sql,&result,&row,&column,&errmsg);

    int i=0;

    for(i=0;i

        printf("result[%d]=%s\n",i,result[i]);

    sqlite3_free_table(result);//清除表占内存

    sql="delete from \"test\" where ID=3;";

    sqlite3_exec(db,sql,0,0,&errmsg);

        

    sqlite3_close(db);

    return 0;  www.2cto.com  

}

然后编译执行

$gcc testdb.c -lsqlite3 -o testdb.exe

如果前面你安装了libsqllite3-dev的话,那么你一定编译成功了,不过记住要链接sqlite3库。

这个程序里面还有许多不足之处,比如每次表的内容更改以后将表格打印出来会好很多,但是代码都是重复的,这里我就不复制代码了(本人有点懒),就当留给大家尝试的内容好了。

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

4

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

7

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

42

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

4

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

3

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

3

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQLite参考手册
SQLite参考手册

共0课时 | 0人学习

SQLite经典教程
SQLite经典教程

共51课时 | 22.2万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号