• 数据库--Sqlite3


     1、思维导图

     2sqlite3在linux中是实现数据的增删,改

    #include

    int main(int argc, const char *argv[])
    {
            //1、定义一个数据库句柄指针
            sqlite3* ppDb =NULL;
            //2、创建或打开数据库
            if(sqlite3_open("./mydb.db",&ppDb)!=SQLITE_OK)
            {
                    printf("sqlite3_open error\n");
                    return -1;
            }
            printf("数据库成功打开\n");
    //
            //3、创建数据表
            //3.1、准备sql语句
            char sql[128]="create table if not exists student(student_id  int ,name char,sex char ,score double);";
            char *errmsg =NULL;
            if(sqlite3_exec(ppDb,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
            {
                    printf("%s\n",errmsg);
                    return -1;
            }
            printf("数据表创建成功\n");
     
            int a=0;

            int  a1=0;
            char a2[20]="";
            char a3[5]="";
            int a4=0;
            printf("*****学生信息***********\n");
            printf("*****1、添加学生信息****\n");
            printf("*****2、修改学生信息*****\n");
            printf("*****3、删除学生信息*****\n");
            printf("*****4、查找学生信息******\n");
            printf("*****0、退出系统**********\n");
            printf("请输入》》》:");
            scanf("%d",&a);

            switch(a)
            {
            case 1:
                    {
                    printf("请输入信息:");
                    scanf("%d %s %s %d",&a1,a2,a3,&a4);
                    getchar();
                            sprintf(sql,"insert into student values(%d,\"%s\",\"%s\",%d);",a1,a2,a3,a4);


                    if(sqlite3_exec(ppDb,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
                    {
                            printf("%s\n",errmsg);
                            return -1;
                    }
                    break;

                    }
            case 2:
                    {
                    printf("请输入学号和姓名:");
                    scanf("%d %s %s %d",a1,a2,a3,a4);
                    getchar();
                    sprintf(sql,"UPDATE TABLE student student_id=%d AND name=\"%s\" WHERE sex=\"%s\" %d;",a1,a2,a3,a4);
                    if(sqlite3_exec(ppDb,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
                    {
                            printf("%s\n",errmsg);
                            return -1;
                    }
                    break;


                    }
            case 3:
                    {
                    printf("请输入信息:");
                    scanf("%s",a2);
                    getchar();
                    sprintf(sql,"DELETE FROM student WHERE name=\"%s\"",a2);
                    if(sqlite3_exec(ppDb,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
                    {
                            printf("%s\n",errmsg);
                            return -1;
                    }
                    break;
                    }

            case 0:
                    {
                    sprintf(sql,"DROP TABLE student;");
                    if(sqlite3_exec(ppDb,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
                    {
                            printf("%s\n",errmsg);
                            return -1;
                    }
                    break;

                    }


            }

            sqlite3_close(ppDb);
            return 0;
    }
     

  • 相关阅读:
    基于Python实现的一个发送程序和接收程序
    Cpp多态机制的深入理解(20)
    复盘:细数这些年写文字的成与败
    NLP信息抽取全解析:从命名实体到事件的PyTorch实战指南
    融合振幅随机补偿与步长演变机制的改进原子搜索优化算法
    Django 4.0.6源码分析:自动重启机制
    梯度下降、反向传播、激活函数、参数初始化、批量归一化是深度学习中常用的几个概念
    Leetcode198. 打家劫舍
    mysql根据.frm和.ibd文件恢复数据表
    部署 TiDB Dashboard
  • 原文地址:https://blog.csdn.net/weixin_51648475/article/details/137939018