C链接mysql

  1. 安装依赖库文件
 sudo apt-get install libmariadb-dev
  1. 查找库文件安装位置
find / -name libmariadbclient.so
find / -name mysql.h
  1. 编写源程序
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>



#include <mariadb/mysql.h>
#define _HOST_ "127.0.0.1"
#define _USER_ "root"  //数据库用户
#define _PASSWD_ "root"
#define _DBNAME_ "demo"


int main()
{
    //1. init 
    MYSQL*mysql = mysql_init(NULL);
    if(mysql == NULL){
        printf("init err\n");
        exit(1);
    }
    //2. real_connect
    mysql = mysql_real_connect(mysql,_HOST_,_USER_,_PASSWD_,_DBNAME_,0,NULL,0);

    if(mysql == NULL){
        printf("connect err:%s\n",strerror(error));
        exit(1);
    }
    printf("hello mysql!\n");
    //3. close
    mysql_close(mysql);
    return 0;
}


  1. 编译
 gcc testdb.c -I/usr/include/mariadb -L/usr/lib/x86_64-linux-gnu -lmariadbclient -lpthread -lm -ldl -o main
注意:修改-I 和-L后的目录为自己查找到的,就可以了
  1. 测试


    图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架。Encase 独特的提供了把方面(a...
    五维思考阅读 1,078评论 0 3
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,219评论 30 472
  • Python基础知识_0001 1.0 Python是一种怎样的语言 Python是一门跨平台、开源、免费的解释型...
    爱学习的小白F1阅读 1,155评论 0 1
  • 1、面向对象: 面向对象相对应的就是面向过程,而面向过程就是注重事情的一个步骤和顺序,而面向对象注重的是参与者,而...
    墨宇暗黑阅读 1,517评论 0 1
  • 最近一朋友正准备跳槽,就从各处搜索整理一些基础,便于朋友复习,也便于自己复习查看. 1. 回答person的ret...
    smile丽语阅读 1,811评论 0 7