SQLITE数据库

目录

一. SQLite数据库安装

二. SQLite命令用法

三. SQLite的编程操作


一. SQLite数据库安装

a.  https://www.sqlite.org/download.html  进入官网下载

b.  把下载的文件 sqlite-autoconf-3450300.tar.gz 上传到开发板中

c.  tar xvf sqlite-autoconf-3450300.tar.gz 解压 

d.  cd sqlite-autoconf-3450300 进入文件夹中

e.  ./configure --prefix=/usr/local 配置安装路径在 /usr/local

f.  make  进行编译(时间比较久)

g.  sudo make install 进行安装

二. SQLite命令用法

a.  mkdir sqlite 先创建一个文件夹用于存放建立的数据库

b.  cd sqlite 进入文件夹中

c.  sqlite3 进入数据库交互页面

d.  .open test.db 或 sqlite3 test.db 创建数据库或打开已有的数据库

f.   .database 可以查看已有的数据库或者是已经打开的数据库

g.  create table stu(id Integer,name char,score Integer);  创建表

h.  .tables 可以查看已有的表

i.  insert into stu values(001,'miwei',100);
    insert into stu(name,score) values('miwei',100);  
 向表中插入数据

j.  .quit 可退出数据库

j.  Ctrl+Z 当我们敲错命令后,可通过此命令退出数据库

三. SQLite的编程操作

 sqlite3_open(const char *filename,sqlite3 **ppDb);         //打开数据库

                                                         //返回值为SQLITE_OK:表示打开成功

                                 //打开失败时,返回宏,如返回值为14时代表权限不足

  sudo chmod -r test.db    使该数据库没有读的权限

  const char *sqlite3_errmsg(sqlite3*);    //用于获取最近调用的API接口返回的错误代码

  sqlite3_close(sqlite3*);                           //关闭数据库,如果还有查询没有完成,则会返回

                                                                      SQLITE_BUSY禁止关闭的错误消息。

以下程序将用sqlite3_open函数打开数据库,sqlite3_errmsg函数打印数据库打开失败原因,

sqlite3_close函数关闭数据库。

#include <stdio.h>
#include <sqlite3.h>
#include <stdlib.h>

int main(int argc, char **argv) {
    sqlite3 *db;
	int ret;
    if(argc < 2){
        printf("Usage: %s xxx.db\n",argv[0]);
    }
	//打开数据库,argv[1]是数据库的名称
    if(ret = sqlite3_open(argv[1],&db) == SQLITE_OK){
        printf("open %s success\n",argv[1]);
    }else{
		printf("error:%s,%d\n",sqlite3_errmsg(db),ret);
		//权限问题导致无法打开该数据库
		if(ret == 14){
		printf("permission den\n");}
		return -1;
	}

	//关闭数据库
    sqlite3_close(db);
    printf("done\n");
    return 0;
}

———————————————————————————————————————————

以下程序将用sqlite3_exec函数实现与数据库的操作   

sqlite3_exec函数将用于执行SQL语句并将执行结果传递给回调函数。

#include <stdio.h>
#include <sqlite3.h>

static int callback(void *arg, int column_size, char *column_value[], char *column_name[]) {
    int i;
    printf("arg=%s\n", (char *)arg);
    for (i = 0; i < column_size; i++) {
        printf("%s = %s\n", column_name[i], column_value[i] ? column_value[i] : "NULL");
    }
    printf("\n");
    return 0;
}

int main() {
    sqlite3 *db;
    char *zErrMsg = 0;
    int rc;
    char *sql;

    /*Open database*/
    rc = sqlite3_open("test.db",&db);
    if(rc){
        fprintf(stderr,"Can't open database:%s\n",sqlite3_errmsg(db));
    }else{
        fprintf(stdout,"Opened database successfully\n");
    }

    /*Create SQL statement*/
    sql = "CREATE TABLE COMPANY("\
           "ID INT PRIMARY KEY NOT NULL,"\
           "NAME TEXT NOT NULL,"\
           "AGE INT NOT NULL);";

    /*Execute SQL statement*/
    rc = sqlite3_exec(db,sql,callback,0,&zErrMsg);
    if(rc != SQLITE_OK){
        fprintf(stderr,"SQL error:%s\n",zErrMsg);
        sqlite3_free(zErrMsg);
    }else{
        fprintf(stdout,"Table created successfully\n");
    }
    sqlite3_close(db);
    return 0;
}

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@尘音

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值