• 文献笔记(九)


    一、基本信息

    标题:基于C语言访问的MySQL 数据库

    时间:2018

    出版源:南昌市医学科学研究所

    领域分类:电子技术与软件工程

    二、研究背景

    问题定义:本文重点介绍了 MySQL 数据库的数据操作,并研究了在 C 语言中操作 MySQL 数据库的基本 API,包括 MySQL 库中表的基本定义和常见的数据库操作如增删改查、联合查询等。

    难点:能熟练掌握运用

    相关工作: C 语言 数据库 MySQL

    三、研究内容

    C 语言访问 MYSQL 数据库的相关函数

    MYSQL *mysql_init(MYSQL *mysql)
    初始化 MYSQL 实例
    Void mysql_close(MYSQL *mysql)
    关闭 MYSQL 实例,释放内存
    Int mysql_query(MYSQL *mysql,constchar *query)	对指定连接进行查询。成功返回 0,出错返回非 0 值
    MYSQL_RES *musql_store_ result(MYSQL *handle)	返回查询的结果
    MYSQL_ROW mysql_fetch_ row(MYSQL_RES *res)	返回第一行查询的结果
    

    C语言访问 MySQL 的程序实例

    #include <stdio.h> #include <stdlib.h> #include <mysql/mysql.h>
    // 定义数据库查询宏(此处根据参数
    userid 查询 teacher 表的 name year 属性)
    #define SELECT_QUERY "select name,year from teacher where userid = %d"
    //main 函数,C 语言执行的入口
    int main(int argc, char **argv) {
    // 定义使用的变量
    // 调用 mysql_init 方法,初始化连接实例mysql_init(&mysql);
    // 向数据库插入数据(insert 操作),如遇异常则返回
    res = mysql_query (&my_connection, "INSERT INT O teacher(name,year) VALUES('Ana', 1989)");
    if (res)
    fprintf (stderr, "Insert error %d: %s
    ", mysql_errno (&my_connection), mysql_ error(&my_connection));
    }
    // 修改数据(update 操作),如遇异常则
    返回
    res = mysql_query (&my_connection, "update teacher set year= 1999 where name
    ='Peter'");
    if (res)
    fprintf (stderr, "Update error %d: %s
    ", mysql_errno (&my_connection), mysql_ error(&my_connection));
    }
    sprintf(buf,SELECT_QUERY,atoi(argv[1]));
                       // 查询数据行(select 操作)
    if(mysql_query(handle,buf)) { fprintf(stderr,"Query failed (%s)
    ",mysql_
    error(handle)); exit(1);
    }
    // 缓存结果
    If (! (result=mysql_store_result(handle))) { fprintf(stderr,"Get result from %s failed
    ",
    mysql_error (handle)); exit(1);
    }
    printf("number of fields returned: 
    %d
    ",mysql_num_fields (result)); query ok !
    

    四、结论

    用 C 语言访问 MySQL 在实际 Web 应用中并不多见,但是有时候为了获取更高访问性能,会直接用 C 语言来开发相关的数据库访问模块,这样可以更好地利用服务器的资源, 并且使用 C 语言具有更好的安全性,所以用 C 语言访问 MySQL 数据库相比其他语言虽然在程序开发上成本高一些,但是具备更好的性能和安全性。

    参考文献

    [1] 吴垠 , 余瑾 , 郭磊等 .MySQL 数据库在嵌入式 Linux 平台上的移植和应用 [J]. 电子技术 ,2011,38(07):12-13.

    [2] 赵 洪 明 .MySQL 中访问数据库的程序 设 计 [J]. 黄石高等专科学校学报 ,2012,18(01):10-12.

    [3] 李达 . 基于知识库的高分辨率遥感影像分割系统的设计与实现 [D]. 太原 : 山西大学 ,2014.

  • 相关阅读:
    FastAPI(38)- 模拟一个跨域场景
    FastAPI(37)- Middleware 中间件
    Python
    Python
    FastAPI(35)- 依赖项中使用 yield + Context Manager 上下文管理器
    汇编 | CPU物理地址本质理解
    汇编 | DosBox初步接触的一些初始化设置(窗口大小 & 默认命令)
    汇编语言 第3版 王爽 检测点答案及详细解析 (更新中)
    JSP | Tomcat目录结构详解
    JSP常见错误以及解决方案
  • 原文地址:https://www.cnblogs.com/lunzhenlun/p/9970481.html
Copyright © 2020-2023  润新知