Clion连接MySQL数据库:实现C/C++语言与MySQL交互

确保你的电脑里已经有了MySQL。

1、找到MySQL的目录

2、进入lib目录

3、复制libmysql.dll和libmysql.lib文件

4、将这俩文件粘贴到你的clion项目的cmake-build-debug目录下

如果不是在这个目录下,运行时会出以下错误报错:
进程已结束,退出代码为 -1073741515 (0xC0000135)
5、修改CMakeLists.txt文件

原始文件内容:

cpp 复制代码
cmake_minimum_required(VERSION 3.27)
project(clion)

set(CMAKE_CXX_STANDARD 17)

add_executable(clion main.cpp)

修改后:

cpp 复制代码
cmake_minimum_required(VERSION 3.27)
project(clion)

include_directories(D:\\MySQL\\mysql-8.1.0-winx64\\include)#添加的,需要根据你的位置修改
link_directories(D:\\MySQL\\mysql-8.1.0-winx64\\lib)#添加的,需要根据你的位置修改
link_libraries(libmysql)#添加的,这块不用根据你的情况更改,直接使用

set(CMAKE_CXX_STANDARD 17)

add_executable(clion main.cpp)

target_link_libraries(clion libmysql)#添加的,需要根据你的项目名修改

注意:
include_directories(D:\\MySQL\\mysql-8.1.0-winx64\\include)
link_directories(D:\\MySQL\\mysql-8.1.0-winx64\\lib)

这里的目录位置是你的MySQL安装的位置,对应如下两个文件夹

target_link_libraries(clion libmysql)

这里的clion是你的项目名。

其他地方保持和我给出的一致即可。

6、#include <mysql.h>即可

包含mysql.h之后,就可以正常使用MySQL啦!以下是代码示例:

cpp 复制代码
#include<bits/stdc++.h>
#include <mysql.h>
using namespace std;
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
int main(void){
    conn = mysql_init(NULL);
    /*连接数据库部分*/
    
    /*输入你的数据库信息*/
    const char *server = "localhost";
    const char *user = "root";
    const char *password = "123456";
    const char *database = "base";
    
    /*尝试连接*/
    if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
        std::cerr << "数据库连接失败: " << mysql_error(conn) << std::endl;
        return 1;
    }
 
    /*关闭数据库*/
    mysql_close(conn);
    return 0;
}

记得对数据库初始化就行。不初始化,还是会报错,报错的原因跟本文想要做到的事情无关了,属于实现问题。

初始化语句:conn = mysql_init(NULL);

不对数据库初始化,报错: 进程已结束,退出代码为 -1073741819 (0xC0000005)

相关推荐
谱写秋天3 分钟前
在STM32F103上进行FreeRTOS移植和配置(STM32CubeIDE)
c语言·stm32·单片机·freertos
我不是板神4 分钟前
程序设计|C语言教学——C语言基础2:计算与控制语句
c语言
基于python的毕设7 分钟前
C语言栈的实现
linux·c语言·ubuntu
爱掘金的土拨鼠9 分钟前
国产化dm数据库锁表解锁
数据库
花花无缺25 分钟前
MySQL 的存储引擎-InnoDB 和 MyISAM的对比
mysql
苏琢玉27 分钟前
如何让同事自己查数据?写一个零依赖 PHP SQL 查询工具就够了
mysql·php
庖丁解java36 分钟前
N个Utils
数据库
Mr. zhihao1 小时前
SQL LEFT JOIN 与 WHERE 条件的隐藏坑
数据库·sql
2301_793086871 小时前
Redis 04 Reactor
数据库·redis·缓存
Sais_Z1 小时前
ClickHouse的学习与了解
数据库·clickhouse