mac c++ clion mysql

1 CMakeLists.txt配置

cmake_minimum_required(VERSION 3.25)

include_directories("/usr/local/mysql/include")
include_directories("/usr/local/mysql/lib")


set (PROJECT_NAME cpplearn)
PROJECT(${PROJECT_NAME})


set(CMAKE_CXX_STANDARD 14)

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})



add_executable(cpplearn
        hello.cpp)

target_link_libraries(cpplearn ${OpenCV_LIBS})
target_link_libraries(cpplearn /usr/local/mysql/lib/libmysqlclient.dylib)

2 代码


//
// Created by mac on 2023/4/25.
//


//--------------这部分放头文件----------------------
#include <mysql.h>
#include <iostream>

using namespace std;

MYSQL mysql;
MYSQL_RES *res;//这个结构代表返回行的一个查询结果集
MYSQL_ROW column;//一个行数据的类型安全(type-safe)的表示

void textMysql();//测试方法
bool ConnectMysql();//连接数据库
bool QueryDatabase(string sql);//查询并输出结果
void outMysql();//输出查询结果
bool updateData(string sql);//插入删除修改操作
void FreeConnect();//释放资源

//---------------这部分放源文件------------------------

//测试代码
void textMysql() {
   
   
    ConnectMysql();
    QueryDatabase("select * from user");
    QueryDatabase(
### 在 CLion 中使用 C++ 连接 MySQL 数据库 要在 CLion 中通过 C++ 实现与 MySQL连接,需要完成以下几个方面的配置: #### 1. 安装 MariaDB 或 MySQL 及其开发包 为了能够成功编译并运行程序,需先安装数据库及其对应的开发头文件和库文件。以下是基于 CentOS 系统的操作方法[^2]。 对于其他 Linux 发行版或者 Windows 平台,可以参考官方文档或其他教程来获取适合的驱动器版本。 ```bash sudo yum install mariadb-server mariadb-devel ``` 上述命令会安装 MariaDB 数据库服务以及用于开发的应用接口库文件。 #### 2. 配置 CLion 工程环境 CLion 使用 CMake 来管理项目构建过程。因此,在创建新工程之后,修改 `CMakeLists.txt` 文件以包含必要的依赖项。 ##### 添加 MySQL 库路径到 CMakeLists.txt 编辑项目的 `CMakeLists.txt` 文件如下所示: ```cmake cmake_minimum_required(VERSION 3.20) project(MySQLTest) set(CMAKE_CXX_STANDARD 17) find_package(MYSQL REQUIRED) add_executable(MySQLTest main.cpp) target_link_libraries(MySQLTest PRIVATE ${MYSQL_LIBRARIES}) include_directories(${MYSQL_INCLUDE_DIR}) ``` 这里利用了 `find_package()` 函数自动查找系统中的 MySQL 开发组件位置,并将其加入链接选项之中[^1]。 如果此函数无法正常工作,则可能需要手动指定头文件目录及静态/动态库的位置。 #### 3. 编写测试代码 下面是一个简单的例子展示如何建立同本地 MySQL 数据库之间的基本交互操作: ```cpp #include <iostream> #include <mysql/mysql.h> int main() { MYSQL* conn; MYSQL_RES* res; MYSQL_ROW row; conn = mysql_init(NULL); /* Connect to database */ if (!mysql_real_connect(conn, "localhost", "root", "", "test_db", 0, NULL, 0)) { std::cerr << "Error connecting to the database: " << mysql_error(conn); return EXIT_FAILURE; } /* Execute query */ if (mysql_query(conn, "SHOW TABLES")) { std::cerr << "Query error : " << mysql_error(conn); goto exit; } res = mysql_use_result(conn); while ((row = mysql_fetch_row(res))) { printf("%s\n", row[0]); } exit: mysql_free_result(res); mysql_close(conn); return EXIT_SUCCESS; } ``` 该示例展示了怎样初始化客户端句柄、执行查询语句并将结果显示出来。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值