C++连接MySQL完整教程
文章目录
文章目录
1.前言
2.配置
3.代码
4.广告(不想看的,点赞+关注就可以走了)
1.前言
网友:MySQL是煞?
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
网友:C++是煞?
答:你怎么那么多废话!
2.配置
废话不多说,进入正文。
本文以Dev C++为例进行配置。
还有,本文默认你已安装MYSQL。
(1)打开工具 > 编译选项 > 目录 > C++包含文件 添加如下路径:
C:\Program Files\MySQL\MySQL Server 8.0\include
8.0是我的MYSQL版本,各位根据自己的MYSQL版本来填写。
(2)在目录页面打开库添加如下路径:
C:\Program Files\MySQL\MySQL Server 8.0\lib
8.0是我的MYSQL版本,各位根据自己的MYSQL版本来填写。
(3)然后把选项卡切换到编译器在第二个框(连接器)里面输入如下指令:
-lmysql
(4)找到C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib然后复制到该项目的文件夹下,以免编译器眼瞎找不到libmysql.lib
(5)给代码加上头文件:
#include <mysql.h>
3.代码
首先,我们要初始化连接(NULL代表默认)
MYSQL* conn = mysql_init(NULL);
然后,我们就要用到mysql_real_connect()函数,结构如下:
mysql_real_connect(conn, host, user, password, dbtest, port, unix_socket, client_flag)
用法如下 (注:mysql_error()函数是获取错误信息的)
if (!mysql_real_connect(conn, "localhost", "admin", "12345", "bilin", 3307, NULL, 0)) {std::cerr << "连接失败: " << mysql_error(conn) << std::endl;return 1;}std::cout << "成功连接MySQL!" << std::endl;
然后不要忘记使用mysql_close()函数关闭数据库
mysql_close(conn);
完整代码如下:
#include <mysql.h>
#include <iostream>int main() {MYSQL* conn = mysql_init(NULL);if (!mysql_real_connect(conn, "localhost", "admin", "12345", "bilin", 3307, NULL, 0)) {std::cerr << "连接失败: " << mysql_error(conn) << std::endl;return 1;}std::cout << "成功连接MySQL!" << std::endl;/*执行mysql操作*/mysql_close(conn);return 0;
}
mysql.h还包含很多控制mysql的函数:
函数 | 作用 |
---|---|
mysql_init() | 初始化连接句柄 |
mysql_real_connect() | 建立数据库连接(需8个参数) |
mysql_query() | 执行SQL语句(增删改) |
mysql_store_result() | 获取SELECT查询结果集 |
mysql_fetch_row() | 逐行读取结果数据 |
mysql_free_result() | 释放结果集内存 |
mysql_close() | 关闭连接 |
4.广告(不想看的,点赞+关注就可以走了)
我开发的一个软件bito在最近的1.2.0版本加入了对mysql的控制,我在gitcode上放了源代码,有兴趣的可以去下载看看。然后支持一下,给个Star。^v^
项目连接:https://gitcode.com/BilinStudio/BilinTools.git