安装使用数据库系统Sqlite3
2012-03-19 12:23
549 查看
安装使用数据库系统Sqlite3
安装数据库系统Sqlite3:
检查数据库安装结果:
安装Sqlite3编译需要的工具包:
cat rule_database.c
cat Makefile
自己make下就可以了.这是我自己项目中的一部分大概涵盖全了.select delete insert update
来自:http://www.91linux.com/html/linux_pub/ubuntu/20081207/14364.html
安装数据库系统Sqlite3:
apt-get install sqlite sqlite3
检查数据库安装结果:
sqlite3 test.db .database .exit
提供下面的命令我们应该可以看到文件test.db。[code]ls
安装Sqlite3编译需要的工具包:
apt-get install libsqlite3-dev
cat rule_database.c
#include <stdio.h> #include <stdlib.h> #include "sqlite3.h" #define _DEBUG_ int main (void) { sqlite3 *db = NULL; char *zErrMsg = 0; int rc; rc = sqlite3_open ("antidoscfg.db", &db); if (rc) { fprintf (stderr, "Can't open database: %s\n", sqlite3_errmsg (db)); sqlite3_close (db); exit (EXIT_FAILURE); } else printf ("You have opened a sqlite3 database\ named antidoscfg.db successfully!\n"); char *sql = " CREATE TABLE dos_table(\ ID INTEGER PRIMARY KEY,\ name VARCHAR(12),\ interface VARCHAR(12),\ s_ip VARCHAR(12),\ s_mask VARCHAR(20),\ d_ip VARCHAR(20),\ d_mask VARCHAR(20),\ sip_status VARCHAR(20),\ sip_id INTEGER,\ dip_status VARCHAR(20),\ dip_id INTEGER,\ schedule VARCHAR(10),\ service VARCHAR(10),\ profile VARCHAR(10)\ );"; sqlite3_exec (db, sql, 0, 0, &zErrMsg); #ifdef _DEBUG_ printf ("zErrMsg = %s \n", zErrMsg); #endif /**************database insert---antidoscfg add********************/ sql = "INSERT INTO \"dos_table\" VALUES(NULL,\ 'zj',\ 'eth0',\ '192.168.1.100',\ '192.168.1.101',\ '255.255.255.0',\ '255.255.255.0',\ 'sip status good!','1',\ 'dip_status_good','2',\ 'mmmm',\ 'nnnn',\ 'profilename');"; sqlite3_exec (db, sql, 0, 0, &zErrMsg); #ifdef _DEBUG_ printf ("zErrMsg = %s \n", zErrMsg); #endif sql = "INSERT INTO \"dos_table\" VALUES(NULL,\ 'jimmy',\ 'eth1',\ '192.168.1.200',\ '255.255.255.0',\ '192.168.1.201',\ '255.255.255.0',\ 'sip2 status good!',\ '3',\ 'dip2 status good!','4','mmmm',\ 'nnnn',\ 'profilename');"; sqlite3_exec (db, sql, 0, 0, &zErrMsg); #ifdef _DEBUG_ printf ("zErrMsg = %s \n", zErrMsg); #endif /**************database update---antidoscfg modify********************/ sql = "UPDATE \"dos_table\" set name='o2',interface='eth2' where id=2"; sqlite3_exec (db, sql, 0, 0, &zErrMsg); #ifdef _DEBUG_ printf ("zErrMsg = %s \n", zErrMsg); #endif /**************database delete---antidoscfg del********************/ sql = "delete from \"dos_table\" where id=1"; sqlite3_exec (db, sql, 0, 0, &zErrMsg); #ifdef _DEBUG_ printf ("zErrMsg = %s \n", zErrMsg); #endif sql = "INSERT INTO \"dos_table\" VALUES(NULL,\ 'zj1',\ 'eth0',\ '192.168.1.100',\ '255.255.255.0',\ '192.168.1.101',\ '255.255.255.0',\ 'sip status good!','1',\ 'dip_status_good','2',\ 'mmmm',\ 'nnnn',\ 'profilename');"; sqlite3_exec (db, sql, 0, 0, &zErrMsg); #ifdef _DEBUG_ printf ("zErrMsg = %s \n", zErrMsg); #endif sql = "INSERT INTO \"dos_table\" VALUES(NULL,\ 'jimmy1',\ 'eth1',\ '192.168.1.200',\ '255.255.255.0',\ '192.168.1.201',\ '255.255.255.0',\ 'sip2 status good!',\ '3',\ 'dip2 status good!','4','mmmm',\ 'nnnn',\ 'profilename');"; sqlite3_exec (db, sql, 0, 0, &zErrMsg); #ifdef _DEBUG_ printf ("zErrMsg = %s \n", zErrMsg); #endif sql = "INSERT INTO \"dos_table\" VALUES(NULL,\ 'zj2',\ 'eth0',\ '192.168.1.100',\ '255.255.255.0',\ '192.168.1.101',\ '255.255.255.0',\ 'sip status good!','1',\ 'dip_status_good','2',\ 'mmmm',\ 'nnnn',\ 'profilename');"; sqlite3_exec (db, sql, 0, 0, &zErrMsg); #ifdef _DEBUG_ printf ("zErrMsg = %s \n", zErrMsg); #endif sql = "INSERT INTO \"dos_table\" VALUES(NULL,\ 'jimmy2',\ 'eth1',\ '192.168.1.200',\ '255.255.255.0',\ '192.168.1.201',\ '255.255.255.0',\ 'sip2 status good!',\ '3',\ 'dip2 status good!','4','mmmm',\ 'nnnn',\ 'profilename');"; sqlite3_exec (db, sql, 0, 0, &zErrMsg); #ifdef _DEBUG_ printf ("zErrMsg = %s \n", zErrMsg); #endif /**************database select top ---antidoscfg get_count N********************/ int nrow = 0, ncolumn = 0, i = 0; char **azResult; //二维数组存放结果 sql = "SELECT * FROM dos_table order by id limit 3"; sqlite3_get_table (db, sql, &azResult, &nrow, &ncolumn, &zErrMsg); #ifdef _DEBUG_ printf ("zErrMsg = %s \n", zErrMsg); #endif printf ("row:%d column=%d \n", nrow, ncolumn); printf ("\nThe result of querying is : \n"); for (i = 0; i < (nrow + 1) * ncolumn; i++) printf ("azResult[%d] = %s\n", i, azResult[i]); //释放掉 azResult 的内存空间 sqlite3_free_table (azResult); sqlite3_close (db); //关闭数据库 return 0; }
cat Makefile
OBJS = rule_database.o TARGET = rule_database CFLAG = -g -Wall -O2 -lsqlite3 all: $(TARGET) $(TARGET): $(OBJS) $(CC) $(CFLAG) -o $(TARGET) $(OBJS) %.o:%.c $(CC) $(CFLAG) -o $@ -c $? clean: rm -rf $(OBJS) $(TARGET)
自己make下就可以了.这是我自己项目中的一部分大概涵盖全了.select delete insert update
来自:http://www.91linux.com/html/linux_pub/ubuntu/20081207/14364.html
相关文章推荐
- 数据库sqlite3的使用-Navicat的安装
- SQLite for uClinux(一个可以在嵌入式系统中使用的小型数据库)
- Linux系统下HTML5使用SQLite后数据库文件的存放位置
- SQlite3数据库的安装与使用
- 使用现有ECC数据库进行安装或者恢复系统
- (一一三)使用系统自带框架操作SQLite3数据库
- 使用Nuget 安装 SQLite 小型数据库
- (一一三)使用系统自带框架操作SQLite3数据库
- SQLite,世界上使用最广泛的关系数据库系统
- Android数据库SQLite使用详解二 : 学生管理系统的简单实现
- CentOS系统使用yum安装配置MariaDB数据库
- Linux 系统命令行下,对 SQLite3 数据库使用的一般操作
- android 测试 --使用sqlite3查看手机数据库系统
- CentOS系统使用yum安装MariaDB数据库实现多实例
- 轻量级数据库 SQLite 的安装和使用
- 嵌入式数据库SQLite的编译、安装和使用
- SQLite 数据库的安装与使用
- android手机命令行下不能使用sqlite3命令查看*.db数据库文件解决办法
- 安装hive后使用mysql作为数据库无法正常启动问题
- QC安装过程中数据库连接问题与用系统用户时总是提示用户名密码不正确