加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite 安装及简单应用

发布时间:2020-12-12 19:40:00 所属栏目:百科 来源:网络整理
导读: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. 解压

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

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表中用户信息。


摘自 :http://blog.csdn.net/tianyou121/article/details/6104317

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读