目录
一、准备
二、读取数据
三、修改数据
参考博客
一、准备
mysql安装及操作
首先在本地下载mysql数据库,或者使用在线数据库,在数据库中创建一个表,往表里填入数据,不然无法读取到数据。运行代码前,将libmysql的静态库和动态库拷贝到代码路径,c++工程的包含路径配置成mysql的include路径。
二、读取数据
代码需要修改的地方如下
#include <iostream>
#include <mysql.h>
#ifdef _DEBUG
#pragma comment(lib,"libmysql.lib")
#else
#pragma comment(lib,"libmysql.lib")
#endif
using namespace std;
int main()
{
MYSQL mysql;
mysql_init(&mysql); //初始化MYSQL变量
MYSQL_RES *result; //表数据存放结构体
MYSQL_ROW row; //表的行数据
//主机IP 用户名 密码 数据库名 端口 是都使用socket机制登陆 标识位,默认0
if (mysql_real_connect(&mysql, "127.0.0.1", "root", "614202", "newdata", 3306, NULL, 0)) {//连接到mysql
cout << "MySQL数据库连接成功" << endl;
}
else {
cout << "数据库连接失败,请检查参数信息\n";
}
if (!mysql_query(&mysql, "SELECT * FROM newtable")) //从表newtable中查数据,若查询成功返回0,失败返回随机数
{
cout << "查询成功" << endl;
}
else {
cout << "查询失败\n";
}
result = mysql_store_result(&mysql); //将查询到的结果集储存到result中
int cloNum = mysql_num_fields(result); //返回结果集中的列数
int rowNum = mysql_num_rows(result); //返回结果集中的行数
std::cout <<"表的行列数:"<< rowNum << " "<< cloNum << " \n";
while ((row = mysql_fetch_row(result))) //mysql_fetch_row 检索结果集的下一行
{
for (int i = 0; i < cloNum; i++) //利用for循环,输出该行的每一列
{
cout << row[i] << "\t"; //row是MYSQL_ROW变量,可以当做数组使用,i为列数
}
cout << endl;
}
mysql_free_result(result); //释放结果集所占用的内存
mysql_close(&mysql); //关闭与mysql的连接
return 0;
}
文章来源:https://www.toymoban.com/news/detail-607594.html
三、修改数据
#include <iostream>
#include <mysql.h>
#ifdef _DEBUG
#pragma comment(lib,"libmysql.lib")
#else
#pragma comment(lib,"libmysql.lib")
#endif
using namespace std;
int main()
{
MYSQL mysql;
mysql_init(&mysql); //初始化MYSQL变量
MYSQL_RES *result; //表数据存放结构体
MYSQL_ROW row; //表的行数据
//主机IP 用户名 密码 数据库名 端口 是都使用socket机制登陆 标识位,默认0
if (mysql_real_connect(&mysql, "127.0.0.1", "root", "614202", "newdata", 3306, NULL, 0)) {//连接到mysql
cout << "MySQL数据库连接成功" << endl;
}
else {
cout << "数据库连接失败,请检查参数信息\n";
}
if (!mysql_query(&mysql, "insert into newtable (id,name,tel) values(3,'jam',103)")) //向表newtable中插入数据,若查询成功返回0,失败返回随机数
{
cout << "插入成功" << endl;
}
else {
cout << "插入失败\n";
}
if (!mysql_query(&mysql, "delete from newtable where id=3")) //从表newtable中删除数据,若查询成功返回0,失败返回随机数
{
cout << "删除成功" << endl;
}
else {
cout << "删除失败\n";
}
if (!mysql_query(&mysql, "update newtable set name='bob',tel=102 where id=2")) //更新表newtable中的数据,修改id=2的数据
{
cout << "更新成功" << endl;
}
else {
cout << "更新失败\n";
}
if (!mysql_query(&mysql, "select * from newtable")) //从表newtable中查数据,若查询成功返回0,失败返回随机数
{
cout << "查询成功" << endl;
}
else {
cout << "查询失败\n";
}
result = mysql_store_result(&mysql); //将查询到的结果集储存到result中
int cloNum = mysql_num_fields(result); //返回结果集中的列数
int rowNum = mysql_num_rows(result); //返回结果集中的行数
std::cout <<"表的行列数:"<< rowNum << " "<< cloNum << " \n";
while ((row = mysql_fetch_row(result))) //mysql_fetch_row 检索结果集的下一行
{
for (int i = 0; i < cloNum; i++) //利用for循环,输出该行的每一列
{
cout << row[i] << "\t"; //row是MYSQL_ROW变量,可以当做数组使用,i为列数
}
cout << endl;
}
mysql_free_result(result); //释放结果集所占用的内存
mysql_close(&mysql); //关闭与mysql的连接
return 0;
}
文章来源地址https://www.toymoban.com/news/detail-607594.html
到了这里,关于C++连接mysql数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!