sqlite3的安装,及./configure权限不足的解决

本文详细介绍了如何从源码安装SQLite数据库,包括下载、解压、配置、编译及安装的全过程。此外,还提供了创建数据库、执行SQL语句进行测试的示例,并给出了一段C语言代码用于读取数据库中的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 安装

去sqlite主页http://www.sqlite.org/.跳转到下载也http://www.sqlite.org/download.html。源码下载sqlite-amalgamation-3.7.3.tar.gz 找不到可以去我上传的资源看下

我去的时候是3.7.3版现在估计升级了。

进入下载目录,解压文件tar -zxvf sqlite-amalgamation-3.7.3.tar.gz.

解压后生成sqlite-3.7.3目录. cd 进入sqlite-3.7.3。

./configure
当出现权限不足的时候可以用
修改权限的
[root@master sqlite-3.7.3]# chmod -R 777 ./
[root@master sqlite-3.7.3]# ./configure

make

sudo make install

安装完成。

2测试

在任意目录下新建一个数据库,比如student ,

命令: sqlite3 student

出现如下提示:

SQLite version 3.7.2
Enter “.help” for instructions
Enter SQL statements terminated with a “;”
sqlite>

输入.help可以看到命令列表。

输入sql语句create table user(username text primary key, password text); 建一张user表

输入sql语句insert into user values(“tianyou121”, “123”); 插入一个用户。

输入sql语句select * from user; 可以查看user表.

输入sql命令是记得结尾的’;'号。

可以输入如下程序测试数据库:

1 #include <stdio.h>
2 #include <stdlib.h>
3
4 #include <sqlite3.h>
5
6 int myfunc(void *p, int argc, char **argv, char **argvv)
7 {
8 int i;
9 *(int *)p = 0;
10 for(i =0; i < argc; i++)
11 {
12 printf("%s = %s “, argvv[i], argv[i] ? argv[i] :“NULL”);
13 }
14 putchar(’/n’);
15 return 0;
16 }
17
18 int main(int argc, char *argv[])
19 {
20 sqlite3 *db;
21 char *err =0;
22 int ret =0;
23 int empty =1;
24
25 ret = sqlite3_open(“student”,&db);
26 if(ret !=SQLITE_OK)
27 {
28 fputs(”/n",stderr);
29 exit(1);
30 }
31 ret = sqlite3_exec(db, “select * from user;”, myfunc, &empty, &err);
32
33 if(ret != SQLITE_OK)
34 {
35 fputs(err,stderr);
36 fputs("/n",stderr);
37 sqlite3_close(db);
38 exit(1);
39 }
40
41 if(empty)
42 {
43 fputs(“table student is empty/n”, stderr);
44 exit(1);
45 }
46
47 sqlite3_close(db);
48
49 return 0;
50 }

保存文件为sqlite3_t.c和数据库文件放在一个目录下。
用gcc 编译:gcc -o sqlite_t sqlite3_t.c -lsqlite3

记得加上-lsqlite3指定库文件,否则编译不通。

./sqlite_t

可以看到user表中用户信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值