确保你的电脑里已经有了MySQL。
1、找到MySQL的目录
2、进入lib目录
3、复制libmysql.dll和libmysql.lib文件
4、将这俩文件粘贴到你的clion项目的cmake-build-debug目录下
如果不是在这个目录下,运行时会出以下错误报错:
进程已结束,退出代码为 -1073741515 (0xC0000135)
5、修改CMakeLists.txt文件
原始文件内容:
cmake_minimum_required(VERSION 3.27)
project(clion)
set(CMAKE_CXX_STANDARD 17)
add_executable(clion main.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啦!
详情:C/C++语言与MySQL交互的代码实现
以下是代码示例:
#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;
}
确保你的数据库已经在运行了,才能用C语言连接。
如果没有运行,则会报错:
数据库连接失败: Can't connect to MySQL server on 'localhost:3306' (10061)
记得对数据库初始化就行。不初始化,还是会报错,报错的原因跟本文想要做到的事情无关了,属于实现问题。
初始化语句:conn = mysql_init(NULL);
不对数据库初始化,报错: 进程已结束,退出代码为 -1073741819 (0xC0000005)