【C/C++与MySql的连接及使用详解】

本文介绍了如何在C++项目中连接和操作MySQL数据库,包括配置项目环境、引入MySQL链接库、初始化数据库、建立数据库连接、创建表、插入数据、查询数据、删除数据以及更新数据的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概要:本期主要讲解C或者C++怎么在程序中连接MySql数据库。

主要步骤

MySQL的链接库—>项目环境配置—>项目内部调用MySql类进行数据库操作。

一、MySql的链接库

如果你的计算机上已经安装了MySql数据库,那么按如下操作:
在这里插入图片描述
找到MySql Server文件夹

在这里插入图片描述
选择lib文件夹
在这里插入图片描述
这两个数据库链接文件就是我们需要的,
如果你还没有安装MySql数据库,那就先去官网下载,ok(版本选择MySQL Installer for Window)

二、项目环境配置

接下来,我们需要先创建一个C/C++的项目,这里我用的IDE是VisualStudio2017.
在这里插入图片描述
创建完项目后,先去添加一个main.cpp,然后复制MySQL链接库到项目路径下
在这里插入图片描述
接下来开始编辑项目属性。
在这里插入图片描述填入我们刚找到的MySQL链接库libmysql.lib
在这里插入图片描述
点击确定—>应用,下一步,我们要引入附加库目录。
在这里插入图片描述
找到之前mysql server文件夹下的include路径,复制找铁道附加包含目录中
在这里插入图片描述
ok,到这里已经完成了对项目的环境配置

三、项目内调用MySql类进行数据库操作

1.准备工作

头文件:

//下面这两个头文件是需要引入的,不要更改引入顺序
#include <WinSock.h>
#include <mysql.h>

创建数据库操作对象:

MYSQL *mDatabase = new MYSQL;        //mysql对象
MYSQL_RES* mRes = new MYSQL_RES;	//查询结果集合对象
MYSQL_ROW mRow;						//存放获取道德数据

初始化数据库

//初始化数据库
mysql_init(mDatabase);

设置编码方式

//设置编码方式
	mysql_options(mDatabase, MYSQL_SET_CHARSET_NAME, "gbk");

2.连接数据库

//连接数据库,要想直接连接成功,先去命令行先创建一个数据库
if (mysql_real_connect(mDatabase, "localhost", "root", "gk131413", "library", 3306, NULL, 0))
{                           //主机       用户名   密码      数据库名  端口
	cout << "数据库连接成功" << endl;
}
else {
	cout<<"数据库连接失败"<< mysql_error(mDatabase) <<endl;
	//输出错误信息
}

3.数据库建表

//数据库中建表
string _sSqlStr = "create table books(name VARCHAR(10),count INT,author VARCHAR(8));";

if (mysql_query(mDatabase,_sSqlStr))
{
	cout << "创建失败!" << mysql_error(mDatabase) << endl;
}
else
{
	cout << "创建成功!" << endl;
}

4.向表中插入数据

string _sSqlStr = "insert into books(name,count,author) values(\"GUGUBO\",\"3\",\"GK\")";
if (mysql_query(mDatabase,_sSqlStr))
{
	cout << "插入失败!" << mysql_error(mDatabase) << endl;
}
else
{
	cout << "插入成功!" << endl;
}

5.查询表中数据

string _sSqlStr = "select * from books where name = \'GUGUBO\'";
if (mysql_query(mDatabase,_sSqlStr))
{
	cout << "查询失败!" << mysql_error(mDatabase) << endl;
}
else
{
	cout << "查询成功!" << endl;
}
//获取到查询结果
mRes = mysql_store_result(mDatabase);
while (mRow = mysql_fetch_row(mRes))
{
	cout << "name = " << mRow[0] << " author = " << mRow[1] << " borrowCount = " << mRow[2] << endl;
}

6.删除表格中的数据

string _sSqlStr = "delete from books where name = \'GUGUBO\'";
if (mysql_query(mDatabase,_sSqlStr))
{
	cout << "删除失败!" << mysql_error(mDatabase) << endl;
}
else
{
	cout << "删除成功!" << endl;
}

7.修改表格中的数据

string _sSqlStr = "update books set author = \'GK\'";
if (mysql_query(mDatabase,_sSqlStr))
{
	cout << "修改失败!" << mysql_error(mDatabase) << endl;
}
else
{
	cout << "修改成功!" << endl;
}

结尾:本期关于C/C++与MySql之间的连接及使用的讲解就到这,祝你学有所得哦:)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

葛狂的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值