linux 下按在sqllite
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表中用户信息。
linux 下按在sqllite的更多相关文章
- 使用linux下的C操作SQLLITE
from: http://baike.so.com/doc/1529694.html 由于Linux下侧重使用命令,没有win的操作容易上手,所以在测试C操作SQLITE时会比较容易出现错误,给大家做 ...
- windows下修复Linux引导 and linux下几个常用软件
在这里,我选择的是deepinLinux,不用说,高端大气上档次! Linux下引导修复 在win7上安装好了Linux,一不小心Linux系统启动不了 (一不小心的过程,想使用root登录图像界面, ...
- Linux下安装Apache并以mod_wsgi方式部署django站点
源码编译方式安装Apache 首先下载Apache源码压缩包,地址为http://mirror.bit.edu.cn/apache/httpd/ 继续下载apr和apr-util压缩包,地址为http ...
- linux下svn(subversion)服务端添加工程及配置权限
linux下svn(subversion)服务端添加工程及配置权限 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/9010507.html 此篇我只是将所做过的 ...
- linux下几个常用软件
Ubuntu 软件包地址 https://packages.ubuntu.com/ 一. 字体 不管是雅黑还是宋体,从windows cp过来后, 直接双击打开并安装 二. Meld 可视的diff和 ...
- NodeJs在Linux下使用的各种问题
环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...
- Linux下服务器端开发流程及相关工具介绍(C++)
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...
- Linux下Nodejs安装(完整详细)
之前安装过windows下以及Mac下的node,感觉还是很方便的,不成想今天安装linux下的坑了老半天,特此记录. 首先去官网下载代码,这里一定要注意安装分两种,一种是Source Code源码, ...
- (转载)linux下各个文件夹的作用
linux下的文件结构,看看每个文件夹都是干吗用的/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基 ...
随机推荐
- Android SlidingMenu侧滑菜单使用
把下载的侧滑菜单压缩包打开,会有一个library文件夹,在eclipse中import existing android code into workspace,导入library文件夹,并且选择作 ...
- 拥有更好性能的requesAnimationFrame(Better Performance with requestAnimationFrame)
介绍: 这篇文章讨论的是你可以(也应该)学习通过使用requestAnimationFrame API,而不是使用之前的setInterval/setTimeout方法,来提高动画的性能:如何使用re ...
- 在CentOS 7上给一个网卡分配多个IP地址
有时你也许想要给一个网卡多个地址.你该怎么做呢?另外买一个网卡来分配地址?在小型网络中其实不用这么做.我们现在可以在CentOS/RHEL 7中给一个网卡分配多个ip地址.想知道怎么做么?好的,跟随我 ...
- Android消息机制之实现两个不同线程之间相互传递数据相互调用
目的:实现两个不同线程之间相互传递数据相互调用方法. 线程一中定义mainHandler 并定义一个方法mainDecode 线程二中定义twoHandler 并定义一个方法twoEncode 实现当 ...
- The method onClick(View) of type new View.OnClickListener(){} must override a superclass
最近在做一个jWebSocket Android客户端的Demo时遇到如下错误: ok —————— 最近在做一个jWebSocket Android客户端的Demo时遇到如下错误: ".. ...
- 由反汇编C程序来理解计算机是如何工作的
C语言代码 int g(int x) { return x + 109; } int f(int x) { return g(x); } int main() { return f(122) + 3; ...
- tune 06 Database Configuration and I/O Issues
1. 尽量读内存中的数据 2. 尽量减少IO矛盾, 即多个任务同时读写一块磁盘 表和索引要尽量分开在不同磁盘, 因为表和它的索引是同时读取的, 所以分磁盘后, 对性能会提高. 物理磁盘的调优相关 re ...
- jsonp获取服务器数据的方式
jsonp获取服务器的数据,有两种 一,跨域 二,不跨域 如果跨域 js的写法有两种 1, <script type="text/javascript"> $(func ...
- Android App接入微信开放平台注意事项
一.Android第三方应用接入微信开放平台的注意事项: 1. 到微信开放平台官网申请正式的AppID(需通过审核),要填写包名.app签名的md5值.至于如何获取app签名信息,官方提供签名包apk ...
- [ionic开源项目教程] - 第7讲 实现下拉刷新上拉加载ion-refresher和ion-infinite-scroll
第7讲 实现下拉刷新上拉加载ion-refresher和ion-infinite-scroll 1.将tab1.html的代码改为如下: <ion-content> <ion-ref ...