C/C++访问MySQL数据库

Posted Respect@

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C/C++访问MySQL数据库相关的知识,希望对你有一定的参考价值。

C/C++访问mysql数据库

VS2019配置

  1. 打开mysql的安装目录,默认安装目录如下:C:\\Program Files\\MySQL\\MySQL Server 8.0,确认 lib 目录和include 目录是否存在。

  2. 打开VS2019,新建一个空工程,控制台应用程序即可,注意:解决方案平台选择 X64在这里插入图片描述

  3. 右击工程名,打开属性页在这里插入图片描述

  4. 打开VC++目录,在包含目录中,将mysql安装文件中的include文件的路径添加到这里在这里插入图片描述

  5. 打开VC++目录,在库目录中将mysql文件中的lib文件路径添加进来在这里插入图片描述

  6. 在属性页的链接器中,点击“输入”,将mysql安装文件夹中lib目录下的libmysql.lib文件加到“附加依赖项”中,注意,这里直接把libmysql.lib这个依赖名加进去即可,不要加路径。在这里插入图片描述

  7. 把mysql安装目录里的lib\\libmysql.dll复制到c:\\windows\\system32下

  8. 启动mysql 80, 将代码中连接数据库的用户名和密码改成自己的设定,顺利获取到student 表中的结果即表示连接成功!

#include <stdio.h>
#include <mysql.h> // mysql文件
int main(void)
{
	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", "123456qweQWE", "school", 3306, NULL, 0) == NULL) {
		printf("错误原因: %s\\n", mysql_error(&mysql));
		printf("连接失败!\\n");
		exit(-1);
	}

	//查询数据
	int ret = mysql_query(&mysql, "select * from student;");
	printf("ret: %d\\n", ret);

	//获取结果集
	res = mysql_store_result(&mysql);

	//给ROW赋值,判断ROW是否为空,不为空就打印数据。
	while (row = mysql_fetch_row(res))
	{
		printf("%s  ", row[0]);  //打印ID
		printf("%s  ", row[1]);  //打印姓名
		printf("%s  ", row[2]);  //打印班级
		printf("%s  \\n", row[3]);//打印性别
	}
	//释放结果集
	mysql_free_result(res);

	//关闭数据库
	mysql_close(&mysql);

	system("pause");
	return 0;
}

以上是关于C/C++访问MySQL数据库的主要内容,如果未能解决你的问题,请参考以下文章

[linux][c/c++]代码片段02

MySQL 和 C 应用程序

硬核!管理mysql数据库的工具

latex在vim中的代码片段

MySql数据库的访问

c_cpp C ++片段