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)

相关推荐
云和数据.ChenGuang27 分钟前
Django 应用安装脚本 – 如何将应用添加到 INSTALLED_APPS 设置中 原创
数据库·django·sqlite
woshilys1 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
Hacker_LaoYi1 小时前
SQL注入的那些面试题总结
数据库·sql
建投数据2 小时前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi3 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀3 小时前
Redis梳理
数据库·redis·缓存
独行soc3 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天4 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺4 小时前
分布式系统架构:服务容错
数据库·架构
XH华4 小时前
初识C语言之二维数组(下)
c语言·算法