自我补充:ubuntu在线安装sqlite3数据库的方法:  系统平台:ubuntu12.04
 
在ubuntu里面直接使用命令:sudo apt-get install sqlite3 ,出现:
…………
…………
libsqlite3-0 (= 3.7.9-2ubuntu1) but 3.7.9-2ubuntu1.1 is to be installed……
…………
…………
我的解决方法依次执行下面三条命令:
1、sudo dpkg --force-depends --purge libsqlite3-0:i386 2、sudo apt-get -f install 3、sudo apt-get install sqlite3 
Read more: How to Install SQLite 3 in Ubuntu | eHow http://www.ehow.com/how_8463512_install-sqlite-3-ubuntu.html#ixzz2U4yhrano
 
http://askubuntu.com/questions/230619/cannot-install-sqlite3
 
 

2008-06-10 16:51:14| 分类: sqlite |字号 订阅

一.本地sqlite3的安装和配置

下载sqlite3源码包
tar xvfz sqlite-src-3.3.5
cd sqlite-3.3.5
./configure –no-tcl
make
(如果在arm板上用需修改Makefile,在LIBS 项中加入 –L/usr/local/arm/3.3.2/lib 保存后退出.然后再make)

安装成功后生成文件将被复制到指定目录
再加入一个环境变量

vi /etc/profile
在export区域加入 SQLITE3_PATH=/usr/local/sqlite-3.3.5 保存后退出
source /etc/profile

有用文件分别为 $SQLITE3_PATH/include/sqlite3.h 头文件
$SQLITE3_PATH/bin/sqlite3 可执行文件
$SQLITE3_PATH/lib/libsqlite3.a
libsqlite3.la
libsqlite3.so -> libsqlite3.so.0.8.6
libsqlite3.so.0 -> libsqlite3.so.0.8.6
libsqlite3.so.0.8.6

在程序使用到数据库
#include <sqlite3.h>

在.pro文件中添加:
INCLUDEPATH +=$(SQLITE3_PATH)/include
DEPENDPATH +=$(SQLITE3_PATH)/include
LIBS +=-L$(SQLITE3_PATH)/lib
LIBS +=-lsqlite3
保存后退出
tmake hello.pro –o Makefile
make

二.程序的编写:

sqlite3 *db;
int rc = sqlite3_open(“data.db”,&db); //打开数据库data.db
if(rc!=SQLITE_OK);//打开失败

创建表rc = sqlite3_exec(db,”create table student(ID integer
primarykey,name nvarchar(32))”,NULL,NULL,&mrrmsg);

插入rc = sqlite3_exec(db,”insert into student values(‘3’,’Zhang San’)”,0,0,&mrrmsg);

修改rc = sqlite3_exec(db,”update student set name=’Li Si’ where ID=’4’”,0,0,&mrrmsg);

删除rc = sqlite3_exec(db,”delete * from student where name=’Wang Wu’”,0,0,&mrrmsg);

查询是重点
回调式查询 rc = sqlite3_exec(db,”select * from student where ID>2
and name<>’Zhang San’”,LoadInfo,NULL,&mrrmsg);
查询的结果通过LoadInfo函数来导出

typedef int(*sqlite3_callback)(void *,int char ** ,char **);
int LoadInfo(void *para, //db
int n_column, //记录的列数目
char** column_value,//查出值
char** column_name)//字段名称
{
int i;
printf(“记录含%d个字段\n”,n_column);
for(i=0;i<n_column;i++)
printf(“字段名:%s , 字段值:%s \n”,column_name[i],column_value[]i);
return 0;
}

函数式查询 rc = sqlite_get_table(db,”select ID from student where ID>2
and name<>’Zhang San’”,&result,&nrow,&ncolumn,&errmsg);

char** result;
int nrow,ncolumn;
int rc;
char* errmsg=NULL;
rc = sqlite_get_table(db,”select * from student where ID>2
and name<>’Zhang San’”,&result,&nrow,&ncolumn,&errmsg);
int i;
char id[10];
char name[10];
for(int i=1;i<=nrow;i++)
{
id[i]=result[i*2];
name[i]=result[i*2+1];
}

三.sqlite3命令:

sqlite3 data.db //打开data.db
.tables 查看数据库中包含表的信息
.schema 输出格式
.mode line / column /list //格式 单行,列,列表
.timeout //用时
.output test.txt //输出到test.txt
.q退出
可执行一般的SQL语句
[root@localhost root]#sqlite3 data.db
sqlite>create table student(ID integer primary key,name nvarchar(32));
sqlite>insert into student values(1,’Sun Wukong’);
sqlite>insert into student values(2,’Tang Seng’);
sqlite>select * from student;
1|Sun Wukong
2|Tang Seng
sqlite>update student set name=’Zhu Bajie’ where ID=’2’;
sqlite>select * from student;
1|Sun Wukong
2|Zhu Bajie
sqlite>delete from student where ID=’2’ and name=’ Zhu Bajie’;
sqlite>select * from student;
1|Sun Wukong
sqlite>.tables
student

对中文的支持
[root@localhost root]#sqlite3 data.db
sqlite>create table student(ID integer primary key,name text);//注意:此处name类型为text
sqlite>insert into student values(1,’孙悟空’);
sqlite>insert into student values(2,’唐僧’);
sqlite>select * from student;
1|孙悟空
2|唐僧
sqlite>update student set name=’猪八戒’ where ID=’2’;
sqlite>select * from student;
1|孙悟空
2|猪八戒
sqlite>delete from student where ID=’2’ and name=’ 猪八戒’;
sqlite>select * from student;

sqlite3在Linux下的安装和使用的更多相关文章

  1. Linux下yum安装MySQL

    写这篇文章的原因是:在刚开始使用Linux操作系统时想要搭建LAMP环境,于是开始在Google和百度上各种寻找资料,碰到了不是很多的问题后,我决定写这篇文章总结一下在Linux下yum安装MySQL ...

  2. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  3. 【夯实PHP基础系列】linux下yum安装PHP APC

    Alternative PHP Cache(可选PHP缓存),依赖于 PECL扩展库 用源码方式安装,直接yum就行了:首先要安装apc的依赖包:yum install php-pear php-de ...

  4. Linux学习心得之 Linux下ant安装与使用

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...

  5. Linux下php安装Redis扩展

    说明: 操作系统:CentOS php安装目录:/usr/local/php php.ini配置文件路径:/usr/local/php7/etc/php.ini Nginx安装目录:/usr/loca ...

  6. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

  7. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

  8. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

  9. linux下VMware安装出现的问题解决

    linux下VMware安装出现的问题解决 linux下VMware安装出现的问题解决 报错信息 问题1liboverlay-scrollbar.so和libunity-gtk-module.so加载 ...

随机推荐

  1. HDU4054_Hexadecimal View

    水题.直接八位八位地枚举即可. 注意控制输出,注意读数的时候要把s中的全部元素置零. #include <iostream> #include <cstdio> #includ ...

  2. SWERC2015-I Text Processor

    题意 给一个长度为\(n\)的字符串\(s\),再给定一个\(w\),问对于所有的\(i\in [1,n-w+1]\),\(s[i..i+w-1]\)有多少个不同字串.\(n,w\le 10^5\). ...

  3. 洛谷 P2421 A-B数对(增强版)

    题目描述 给出N 个从小到大排好序的整数,一个差值C,要求在这N个整数中找两个数A 和B,使得A-B=C,问这样的方案有多少种? 例如:N=5,C=2,5 个整数是:2 2 4 8 10.答案是3.具 ...

  4. 【Luogu1912】【NOI2009】诗人小G(动态规划)

    [Luogu1912][NOI2009]诗人小G(动态规划) 题面 洛谷 题解 原来\(NOI\)这么多神仙题... 考虑一个极其明显的\(dp\) 设\(f[i]\)表示前\(i\)个句子产生的最小 ...

  5. MySQL数据库无法远程连接的解决办法

    远程登陆数据库的时候出现了下面出错信息: ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx', 经过今天下午的 ...

  6. Codeforces 576C. Points on Plane(构造)

    将点先按x轴排序,把矩形竖着划分成$10^3$个块,每个块内点按y轴排序,然后蛇形走位上去. 这样一个点到下一个点的横坐标最多跨越$10^3$,一共$10^6$个点,总共$10^9$,一个块内最多走$ ...

  7. 【hdu6051】If the starlight never fade

    Portal --> hdu6051 Solution ​ 神仙题qwq好吧我个人感觉是神仙题 ​​ 这题其实有一个比较野路子的做法..就是..打表观察..反正场上ckw大佬就是这样把这题A穿的 ...

  8. kill -9 a postgres process

    在postgresql中,不推荐使用Kill -9直接杀掉异常连接,因为直接使用kill -9会引起整个数据库核心进程的重启,同时其他正常程序连接也会被杀掉. 现开启两个psql连接,然后使用Kill ...

  9. 洛谷P2345 奶牛集会

    题目背景 MooFest, 2004 Open 题目描述 约翰的N 头奶牛每年都会参加“哞哞大会”.哞哞大会是奶牛界的盛事.集会上的活动很 多,比如堆干草,跨栅栏,摸牛仔的屁股等等.它们参加活动时会聚 ...

  10. Windows10实用技巧-固定快捷方式到磁贴菜单方式

    快捷方式固定到磁贴 Win10的开始菜单中的磁贴功能比较不错,可以在不清理桌面上其他软件的情况下直接唤醒需要的应用.  但是比较麻烦的是一些应用或快捷方式并不能直接固定到上面. 后来发现所有Windo ...