Windows下MySQL数据库的安装、配置及C++使用案例

2023-05-16

1 安装及配置

Windows判断本地是否安装mysql以及mysql安装过程_企鹅要去银河思考人生!!!的博客-CSDN博客_windows查看是否安装mysql

注意按照文中提示,配置好环境变量。

2 Navicat的安装配置及使用

https://www.jianshu.com/p/e6665db44328?u_atoken=53c880e0-3ef6-4699-94a8-5eee90d06ccc&u_asession=01zv-YpoyLDoQG82kTsfCQJIpYX6x5Qvukgyys1Gs-B0xBtNmPRcujAWOry1nM5-8_X0KNBwm7Lovlpxjd_P_q4JsKWYrT3W_NKPr8w6oU7K-1VRM9HiAxQ5KfR3IrKOw49Z8yatDP0qApUVWMROZyFmBkFo3NEHBv0PZUm6pbxQU&u_asig=053rs23s8kYv45len_QlH5spfeONFpUFPUOtBRP0ZyExgV-T0cd6B_PUjN0Z3yK_ieSf3JHvOyvq3vGajaNp01SZsSVbJk6tJQ1STv-87ydkUX8VgTGdjg4G3LvEZJ7cH5_GzKxEO9627BvdXNVTYtf3VchAMZr5qyyEnwJ8RXRxf9JS7q8ZD7Xtz2Ly-b0kmuyAKRFSVJkkdwVUnyHAIJzYSPmD_M8o6XbSg6yop8f0Ax5E46K1gWvSnH2KSvmlTWCs-hAuami3wC_ze-3aLJqu3h9VXwMyh6PgyDIVSG1W_eaSP5-UOfmd94Lowbn7SuPHCVMK-skk_JH_PvuEFgfj06ocwn6vifReSfc2KIb-YGyJ5mR7SVvk0C248_cjWimWspDxyAEEo4kbsryBKb9Q&u_aref=REBUYs01wbjXGFCpg%2BK6dPBOkDs%3D

附上Navicat及JH工具的网盘链接:

链接:https://pan.baidu.com/s/1fSNwHezyp62yeuAYuaAWCg 
提取码:uq35

使用 Navicat创建数据表:

创建以下的记录:

3 C++代码访问

vs2015 64位程序!

 代码:

// TestMySql.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <winsock.h>
#include "mysql.h"

//
//
//mysql_query() cannot be used for statements that contain binary data; 
//you must use mysql_real_query() instead. (Binary data may contain the “” character, 
//which mysql_query() interprets as the end of the statement string.) 
//In addition, mysql_real_query() is faster than mysql_query() because it does not call strlen() on the statement string.
//
//mysql_query() 不能传二进制BLOB字段,因为二进制信息中的会被误判为语句结束, mysql_real_query() 则可以




int main()
{
	MYSQL * con; //数据库对象
	MYSQL_RES *res; //res结构体,用于保存查询结果
	MYSQL_ROW row;
	char tmp[400];
	//账户
	char dbuser[30] = "root";
	//密码
	char dbpasswd[30] = "admin";
	//数据库服务器地址
	char dbip[30] = "localhost";
	char dbname[50] = "testdb";//数据库名
	char tablename[50] = "testclasstb";//表名
	char *query = NULL;
	int  rt;
	unsigned int t;
	int count = 0;
	//初始化数据库环境
	con = mysql_init((MYSQL*)0);
	//连接数据库
	if (con != NULL&&mysql_real_connect(con, dbip, dbuser, dbpasswd, dbname, 3306, NULL, 0))
	{
		//选择要操作的数据库
		if (!mysql_select_db(con, dbname))
		{
			printf("select success the database!\n");
			con->reconnect = 1;
			//执行sql语句设置编码为gbk
			//query = "set names \'gbk\'";
			//rt = mysql_real_query(con, query, strlen(query));
			Sql语句执行为0则成功
			//if (rt) 
			//{
			//	printf("Error making query:%s!\n", mysql_error(con));
			//}
			//else 
			//{
			//	printf("query %s success!\n", query);
			//}
		}
	}
	else
	{
		MessageBoxA(NULL, "Unable to connect the database,check your configuration!", "", NULL);
		return -1;
	}
	//数据库中插入记录
	//sql语句
	sprintf_s(tmp, "insert into testclasstb values('fangxing',7)");
	//执行
	rt = mysql_real_query(con, tmp, strlen(tmp));
	if (rt) 
	{
		printf("Error making query:%s!\n", mysql_error(con));
	}
	else 
	{
		printf("%s executed!\n", tmp);
		mysql_commit(con);//提交,使得及时生效.建议每次对MYSQL中的表修改或插入数据后 都提交一下(commit) !
	}

	//查询表
	sprintf_s(tmp, "select * from %s", tablename);
	//执行
	rt = mysql_real_query(con, tmp, strlen(tmp));
	if (rt) 
	{
		printf("Error making query:%s!\n", mysql_error(con));
	}
	else 
	{
		printf("%s executed!\n", tmp);
	}
	//将查询结果保存到res结构体中
	res = mysql_store_result(con);
	//遍历查询结果的行
	while (row = mysql_fetch_row(res)) 
	{
		for (t = 0; t < mysql_num_fields(res); t++)
		{
			//打印查询行内容
			printf("%s \n", row[t]);
		}
		printf("-----------\n");
		count++;
	}

	printf("number of rows %d\n", count);
	printf("mysql_free_result...\n");
	//释放结果内存
	mysql_free_result(res);

	//关闭数据库连接
	mysql_close(con);

	system("pause");

	return 0;
}

运行效果:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows下MySQL数据库的安装、配置及C++使用案例 的相关文章

随机推荐

  • Visual Studio 2017 代码自动对齐

    点 编辑 高级 设置选定内容的格式 或者按Ctrl 43 K 然后再按Ctrl 43 F 就好了 你可以在常用快捷键自定义 窗口中进行查看 1 进入工具 选项 对话框 2 选择 环境 键盘 3 在 显示命令包含 下面的对话框中输入 对齐 关
  • CSDN 排版之颜色、字体、字号及背景色

    颜色 xff1a span class token operator lt span font color span class token operator 61 span blue span class token operator g
  • 使用QTCreator编程时,如何利用dmp文件定位程序奔溃

    写这篇文章之前 xff0c 看了一些其他人的博客 xff0c 但不是很详细 xff0c 缺这少那的 xff0c 好多都是复制粘贴别人的东西 自己动手弄了弄 xff0c 可以使用 xff0c 就记下来备忘与分享 前言 开发环境说明 编程IDE
  • Pytorch中transforms.RandomResizedCrop使用说明

    加载数据 训练集数据扩充 数据增强 和归一化 数据扩充 数据增强 的意义在于通过人为的随机范围裁剪 缩放 旋转等操作 增大训练集中的数据多样性 全面性 进而提高模型的泛化能力 训练集数据扩充和归一化 在验证集上仅需要归一化 data tra
  • C++中调用Python的办法

    1 背景 一直采用C 43 43 作为主语言开发 xff0c 最近遇到一个项目需要解析PDF文件中的文本内容 xff0c 直接采用C 43 43 来做显得不是很方便 xff0c 但用python来做就显得很简单了 难点在于如何C 43 43
  • Qt Creator远程调试嵌入式ARM开发板

    1 环境 Win10 64位系统上通过Virtual Box安装了一个Ubuntu虚拟机 ubuntu的版本 xff1a Linux kernel 4 15 0 142 generic 146 16 04 1 Ubuntu SMP Ubun
  • 套接字(描述符)读取指定的字节数

    检测fd句柄是否可读 xff0c ms毫秒超时 参数 xff1a df in 检测的句柄 ms in 超时 xff0c 毫秒 返回 xff1a 1 可读 xff0c 或者已经断开 0 超时 xff0c 仍然不可读 1 错误 int IsRe
  • 4.4线索二叉树遍历

    1 中序线索二叉树遍历 找到第一个中序遍历的结点 ThreadNode span class token operator span span class token function Firstnode span span class t
  • 自动根据本机字节序 将小端字节序的报文(字符数组)转为整数

    1 xff0c 判断本机的字节序 xff08 大端优先 小端优先 xff09 判断当前PC为大端还是小端字节序 64 返回值 xff1a 1 大端 xff1b 0 小端 int JudgeEndianOfPC int num 61 1 if
  • 智能指针的使用

    智能指针在C 43 43 11版本之后提供 xff0c 包含在头文件 lt memory gt 中 xff0c shared ptr unique ptr weak ptr 1 xff0c shared ptr的使用 shared ptr使
  • 图像检索系列——利用深度学习实现以图搜图

    转载自 xff1a 图像检索系列 利用深度学习实现以图搜图 知乎 前言 在上一篇文章 图像检索系列 利用 Python 检测图像相似度 中 xff0c 我们介绍了一个在图像检索领域非常常用的算法 感知哈希算法 这是一个很简单且快速的算法 x
  • Windows下select模型(以及EAGAIN、EWOULDBLOCK、EINTR)

    在这里记录一下 xff0c 以前都是新项目用到了就从旧项目中拷贝 自从将博客当作记事本 xff0c 发现自己多了一个好习惯 Windows下select模型 程序员攻略 CSDN博客 套接字IO超时设置和使用select实现超时管理 wj
  • RANSAC算法理解

    RANSAC是 RANdom SAmple Consensus xff08 随机抽样一致 xff09 的缩写 它可以从一组包含 局外点 的观测数据集中 xff0c 通过迭代方式估计数学模型的参数 它是一种不确定的算法 它有一定的概率得出一个
  • C++ 环形缓冲区(队列)简单实现

    1 说明 在实际工作中 xff0c 如果数据流量过大 xff0c 可以先把数据接收到数据缓冲区中 xff0c 处理之后再取出 我们定义的包协议可以采用定长包 xff0c 可以采用不定长度的包 xff0c 环形缓冲区都能处理 2 使用场景 2
  • Visual Studio Code (vscode) 配置 C / C++ 环境

    Visual Studio Code vscode 配置 C C 43 43 环境 步平凡 博客园 在电脑安装软件管控严格的情况下 xff0c 想装VS装不了 xff0c 就装轻量版的VSCode了 以上写得很好 xff0c 照做即可 本人
  • c++实现basename

    window API居然不包含Linux中很好用的basename函数 xff0c 实现了一下 xff0c 留个记录 xff0c 省得日后重复写 std string m basename std string fullPath size
  • tortoiseGit教程

    0 前言 TortoiseGit其实是一款开源的git的版本控制系统 xff0c 也叫海龟git TortoiseGit提供了人性化的图形化界面 xff0c 不用像Git一样输入许多语句 xff0c 像git init git add gi
  • 用STL库创建线程

    测试了3种方式 xff1a 1 xff1a 子线程不带返回值 2 xff1a 子线程带返回值 3 xff1a 子线程带引用类型参数 使用join方式 xff0c 让父线程等待子线程运行结束 TestTemp cpp 定义控制台应用程序的入口
  • 4.5树的存储

    双亲表示法 xff0c 孩子表示法 xff0c 孩子兄弟表示法 1 双亲表示法 查找双亲简单 空数据导致遍历更慢 xff0c 查指定节点的孩子只能遍历 span class token keyword typedef span ElemTy
  • Windows下MySQL数据库的安装、配置及C++使用案例

    1 安装及配置 Windows判断本地是否安装mysql以及mysql安装过程 企鹅要去银河思考人生 xff01 xff01 xff01 的博客 CSDN博客 windows查看是否安装mysql 注意按照文中提示 xff0c 配置好环境变