zoukankan      html  css  js  c++  java
  • 文献笔记(九)

    一、基本信息

    标题:基于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.

  • 相关阅读:
    python操作文件
    匿名函数 列表生成式 字典生成式 递归
    pecan API调用
    lvm磁盘分区
    PasteDeploy部署Pecan API 服务
    oslo_service服务
    python pbr 打包
    stevedore动态加载模块
    mongodb 副本集部署
    python装饰器
  • 原文地址:https://www.cnblogs.com/lunzhenlun/p/9970481.html
Copyright © 2011-2022 走看看