概要:本期主要讲解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之间的连接及使用的讲解就到这,祝你学有所得哦:)

推荐内容
阅读全文
AI总结
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐