Linux C语言连接Mysql,Clion 下C语言连接Mysql

一、Linux环境下连接Mysql 

以Ubuntu 16.04 LTS为例,安装   libmysqlclient-dev 包,安装 libmysqld-dev  包

apt-get install libmysqlclient-dev
apt-get install libmysqld-dev

安装完成后,新建main.c测试文件

#include <stdio.h>
#include <mysql/mysql.h>
#include <unistd.h>
#include <stdlib.h>
int main() {
    MYSQL * conn;
    conn = mysql_init(NULL);
    if (!mysql_real_connect(conn,"localhost","root","********","db_books",0,NULL,0))
    {
        printf("Can not connect db_books! \n");
    } else{
        printf("connect success! \n");
    }
    if (mysql_query(conn,"select * from tb_book"))
    {
        printf("query db_books faild! \n");
    } else{
        printf("query db_books success!\n");
    }
    printf("Hello, World!\n");
    return 0;
}

控制台编译源程序

# gcc -g -o mysql -I/usr/include/mysql/ main.c -L/usr/lib64/mysql/ -lmysqlclient -lz

//main.c 是你所要编译的源文件
//mysql  -o 后的mysql 是自定义生成的文件名

编译后运行

# ./mysql

Linux C控制台打印如下


二、Clion连接Linux,远程连接mysql(这里测试用Windows子系统Linux),其他原理相同

安装组件包

apt-get install libmysqlclient-dev
apt-get install libmysqld-dev

编辑CMakeLists.txt

 

cmake_minimum_required(VERSION 3.5)
project(Cproject C)

set(CMAKE_C_STANDARD 99)

set(INC_DIR /usr/include/mysql/)
set(LINK_DIR /usr/lib/x86_64-linux-gnu/)
include_directories(${INC_DIR})
link_directories(${LINK_DIR})
link_libraries(mysqlclient)

add_executable(Cproject main.c)

target_link_libraries(Cproject  mysqlclient)



#######################以下为注释###########################

//Cproject替换成你自己的项目名称
//CMakeLists.txt中,引用的库为mysqlclient,而不是libmysqlclient,这里折磨了我好久。。。。。。。。
//此C版本为C99版本,其余未测
    查看mysql文件,/usr/include/是否存在mysql.h ,若存在,在使用时用
    #include<mysql.h>
    若不存在,请看下一级目录/usr/include/mysql/,若存在mysql.h,请使用
    #include<mysql/mysql.h>

放入连接数据库的c代码,上面那个连接数据库源码拿来就可以用,原理相同,这里不啰嗦了

Clion控制台打印如下: 

 

 

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值