文章目录
概要:本期主要讲解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 #include
创建数据库操作对象:
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;}