Ubuntu16.04编译sqlite3.41.0,实现一个简单的query

本文介绍了如何从源码下载并编译SQLite,包括配置makefile,指定安装路径,以及编译和安装过程。之后通过一个简单的C程序展示了如何使用编译好的SQLite库进行数据库操作,如创建表、插入数据等。
摘要由CSDN通过智能技术生成

1.下载sqlite源码并解压。
在这里插入图片描述
2.创建一个路径,用于存放编译生成的库和头文件,这里就创建在解压后的文件里,如下图:
在这里插入图片描述
3.配置生成makefile,这里指定路径到上一步创建的mysqlite里,命令:./configure --prefix=/home/thera/sqlite3/sqlite-autoconf-3410000/mysqlite。执行完之后就能得到makefile啦
在这里插入图片描述
4.然后就是编译,执行以下命令:make clean;make;make install (。。。。大概一分钟就编译完了)生成这个可行性文件:
在这里插入图片描述
看看版本号,执行./sqlite3 --version
在这里插入图片描述
看看第二步的路径里:
在这里插入图片描述5.测试一下,创建一个数据库./sqlite3 test.db
在这里插入图片描述
创建一个表create table people(name,age);
在这里插入图片描述
插入一行insert into people values(‘qqq’,12);
在这里插入图片描述
查看数据库select * from people;
在这里插入图片描述
进入第二步创建的mysqlite里,试试动态库

在这里插入代码片#include<stdio.h> 
#include<stdlib.h> 
#include"sqlite3.h" 
#include<string.h> 
#pragma comment(lib, "sqlite3.lib") 
int main(int argc,char **argv) 
{ 
int rc,i,ncols; 
sqlite3 *db; 
sqlite3_stmt *stmt; 
char *sql; 
const char*tail; 
rc=sqlite3_open("test1.db",&db); 
if(rc){ 
 fprintf(stderr,"Can'topendatabase:%sn",sqlite3_errmsg(db)); 
 sqlite3_close(db); 
 exit(1); 
} 

 sql="create table food(name,price)";//建表
//sql="insert into test1 values('ooo',3)";//增
//sql="select * from test1"; //查
//sql="update test1 set id=004 where name='ooo'";//改
//sql="delete from test1 where id=004";//删

rc=sqlite3_prepare(db,sql,(int)strlen(sql),&stmt,&tail); 
if(rc!=SQLITE_OK){ 
 fprintf(stderr,"SQLerror:%sn",sqlite3_errmsg(db)); 
} 
 
rc=sqlite3_step(stmt); 
ncols=sqlite3_column_count(stmt); 
while(rc==SQLITE_ROW){ 
 for(i=0;i<ncols;i++){ 
 fprintf(stderr,"'%s'",sqlite3_column_text(stmt,i)); 
 } 
 fprintf(stderr,"\n"); 
 rc=sqlite3_step(stmt); 
}  
sqlite3_finalize(stmt); 
sqlite3_close(db); 
printf("\n"); 
return(0); 
}

编译测试代码 gcc testsqlite.c -o test -lsqlite3 -I /mnt/hgfs/sharewithubuntu16046/test/mysqlite/include
编译成功,执行test,生成test1.db。

插入数据,查看
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值