C++访问MySQL数据库

文章目录

配置MySQL的环境

第一步:打开MySQL的安装目录,默认安装目录如下:"C:\Program Files\MySQL\MySQL Server 8.0",然后确认include目录和lib目录是否存在。

第二步:打开VS2022,新建一个空工程,控制台应用程序即可。注意:解决方案平台选择X64。

第三步:右击工程名,打开属性页。

第四步:打开VC++目录,在包含目录中,将MySQL安装文件中的include文件的路径添加到这里。

第五步:打开VC++目录,在库目录中将MySQL文件中的lib文件路径添加进来。

第六步:在属性页的链接器中,点击"输入",将MySQL安装文件夹中lib目录下的libmysql.lib文件添加到"附加依赖项"中,注意,这里直接把libmysql.lib这个依赖名加进去即可,不要加路径。

第七步:将MySQL安装目录下的lib\libmysql.dll复制到当前可执行程序的目录下。

C++访问数据库

cpp 复制代码
#include <iostream>
#include <mysql.h>

int main() {
	MYSQL mysql;	//数据库句柄
	MYSQL_RES* res;		//查询结果集
	MYSQL_ROW row;  //记录结构体


	//初始化数据库
	mysql_init(&mysql);

	//设置字符编码
	mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");

	//连接数据库
	if (mysql_real_connect(&mysql, "127.0.0.1", "root", "root", "school", 3306, NULL, 0) == NULL) {
		std::cout << "连接失败:" << mysql_error(&mysql);
		return -1;
	}

	//查询数据
	int iRet = mysql_query(&mysql, "select * from student");
	
	//获取结果集
	res = mysql_store_result(&mysql);

	//给ROW赋值,判断ROW是否为空,不为空就打印数据
	while (row = mysql_fetch_row(res)) {
		std::cout << row[0] << "," << row[1] << "," << row[2] 
			<< "," << row[3] << "," << row[4] << std::endl;
	}

	//释放结果集
	mysql_free_result(res);
	
	return 0;
}

输出结果:

通过访问数据库得到的结果:

相关推荐
努力努力再努力wz1 小时前
【Lua 进阶系列】从 C++ 对象到 Lua 变量:一文理解 userdata、Lua 栈与元表绑定机制
c++·junit·lua
慧都产品智能化2 小时前
Qt 表格升级攻略:复用已有编辑器,减少重复开发
c++·qt·编辑器·qt6.3
ShineWinsu2 小时前
对于Qt:QTableWidget常见属性以及QTableWidgetItem类的解析
开发语言·c++·qt·gui·客户端·表格·qtablewidget
数据库急诊室_阿哲3 小时前
一次加索引建议的复核记录:从报告到签字
数据库·ai数据库
ShineWinsu3 小时前
对于Qt:QListWidget常见属性以及QListWidgetItem类的解析
开发语言·c++·qt·客户端·列表·qlistwidget·qlistwidgetitem
坤坤子吖4 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
青瓦梦滋4 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
慧都小妮子5 小时前
Wyn商业智能国产数据库适配:数据接入、分析缓存与审计日志验证清单
数据库·数据分析·数据可视化·审计日志·商业智能
沫璃染墨5 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Joy T6 小时前
Redis Lua 原子限流:Lua 脚本、竞态条件与并发控制
数据库·redis·lua·限流·竞态条件·redis scripting