【Visual Studio 2017& MySQL 8.0】Visual Studio 2017连接MySQL 8.0安装与使用教程

本文详细介绍了如何在Visual Studio 2017中连接并使用MySQL 8.0,包括MySQL的下载与安装,以及在VS中配置和建立数据库连接的步骤。

Visual Studio 2017连接MySQL 8.0安装与使用

1. MySQL的安装与使用

若想在Visual Studio 2017中使用MySQL,需要下载并安装三个文件:
安装包链接
链接:https://pan.baidu.com/s/1PzvFLNfc4zLqO-yHrGSU-w
提取码:u5k5

安装顺序如下

1.1下载mysql-8.0.12-winx64.zip

在这里插入图片描述
解压缩mysql-8.0.12-winx64.zip,进入bin目录下:
输入cmd
初始化数据库
输入命令mysqld --initialize --console,并记录随机生成的密码
安装 mysql 的Windows服务
输入命令 mysqld -install
启动 mysql 服务
输入命令 net start mysql
登陆数据库
输入命令 mysql -u root -p 登陆数据库,密码为前面记录的临时密码
修改密码
登陆成功后输入命令alter user 'root'@'localhost' identified by '想要设置的密码';将原来复杂的密码修改为自己的密码,并输入commit;提交;
输入quit退出数据库,再次登陆数据库,这时就可以用我们修改后的密码登陆。
创建数据库和表
然后可以自行创建数据库和表,以便下面的使用,这里我创建了一个名为db_jiudian的数据库和一个名为t_admin的表格:

CREATE DATABASE db_jiudian;
USE db_jiudian
CREATE TABLE t_admin(userId INT(11),userName VARCHAR(25),userPw VARCHAR(25));

创建成功后自行往里面insert数据,这里就不再展示。

1.2下载安装mysql-for-visualstudio-1.2.10.msi

直接下载安装即可

1.3下载安装mysql-connector-net-8.0.31.msi

也是直接下载安装即可

2.Visual Studio 2017连接MySQL

安装成功后,再打开VS,点击工具->连接到数据库
在这里插入图片描述

选择MySQL Database,点击确定。
在这里插入图片描述

跳出添加连接框,填写以下内容:
在这里插入图片描述

点击测试连接
在这里插入图片描述

点击确定。

3 Visual Stdio 2017连接MySQL数据库的简单例子

在MySQL 中新建一个工程文件,打开一个cpp文件,将下述的代码复制进去:

//C++连接MySQL
#include <Windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <iomanip>
#include <mysql.h> 
using namespace std;

#pragma comment(lib,"libmysql.lib")
#pragma comment(lib,"wsock32.lib")

int main()
{
	MYSQL conn;
	MYSQL_RES* result;  //存储查询等结果
	MYSQL_ROW sql_row;	//查询返回行数
	const char* username = "root";			//用户名  (or const char username[])
	const char* passwd = "***";        		//密码
	const char* host = "localhost";			//地址 or"127.0.0.1"
	const char* database = "db_jiudian";        	//数据库database   
	unsigned int port = 3306;           	//端口号server port 

	int res;
	if (!mysql_init(&conn))
	{//初始化一个MYSQL 连接的实例对象,失败
		cout << "[mysql_init() error] " << mysql_error(&conn) << endl;
		exit(EXIT_FAILURE); //EXIT_FAILURE是stdlib.h中定义的: #define EXIT_FAILURE 1;表示没有成功地执行一个程序
	}

	if (!mysql_real_connect(&conn, host, username, passwd, database, port, NULL, 0))
	{
		cout << "[mysql_real_connect() error] " << mysql_error(&conn) << endl;
		exit(EXIT_FAILURE);
	}
	mysql_query(&conn, "SET NAMES GBK"); //设置编码格式,否则在cmd下无法显示中文
	//const char* sql_query = "select * from test";//database下有相应的表才能成功
	const char* sql_query = "select * from t_admin";//database下有相应的表才能成功
	if (mysql_query(&conn, sql_query))
	{
		cout << "[mysql_query() (sql:" << sql_query << ")error]" << mysql_error(&conn) << endl;
		exit(EXIT_FAILURE);
	}

	result = mysql_store_result(&conn);//保存查询到的数据到result
	if (result)
	{
		int rows = mysql_num_rows(result);
		int fileds = mysql_num_fields(result);//
		cout << "The total rows is (" << sql_query << "): " << rows << endl;
		cout << "The total fileds is : " << fileds << endl;

		MYSQL_FIELD* fd;
		fd = mysql_fetch_field(result);//获得字段名
		for (int i = 0; i < fileds; i++)
		{//获取列名
			cout << std::left << std::setw(14); cout << fd[i].name;//对齐输出,setw函数是对齐用到的
		}
		cout << endl; //列名输出结束


		while ((sql_row = mysql_fetch_row(result)))
		{//获取具体的数据(每次获取一行)
			for (int j = 0; j < fileds; j++)
			{
				if (sql_row[j] == NULL) {//防止内容为空,程序崩溃
					cout << "null";
				}
				else {
					cout << std::left << std::setw(14); cout << sql_row[j];
				}
			}
			cout << endl;
		}//表数据输出结束

	}
	mysql_close(&conn);//断开连接,释放一个MYSQL 连接实例
	return 0;
}

点击保存后,点击工具->XXX属性
在这里插入图片描述
将MySQL的include目录复制到C/C+±>常规->附加包含目录:
在这里插入图片描述将MYSQL的lib目录复制到链接器->常规->附加库目录:
在这里插入图片描述
将lib目录下的libmysql.lib复制到链接器->输入->附加依赖项
在这里插入图片描述
将 _CRT_SECURE_NO_WARNINGS;添加至C/C+±>预处理器->预处理器定义:
在这里插入图片描述
设置完成后,点击确定。
接下来如下图操作,可以得到select后的结果(此例为查询db_jiudian数据库中的t_admin表格)。
在这里插入图片描述

Visual Studio 2017 连接MySQL8.0完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值