c++初试-操作mysql数据库(13)

c++ 操作mysql数据库

1:环境:windows7、vs2010、mysql5.6
2:创建一个c++控制台项目

3:右键项目》属性》配置属性》C/C++》常规
 修改【附加包含目录】的值为:D:\Program Files\MySQL\MySQL Server 5.6\include

4:右键项目》属性》配置属性》C/C++》预处理器
 修改【预处理器定义】的值为:WIN32;_DEBUG;_CONSOLE

5:右键项目》属性》配置属性》连接器》常规
 【附加库目录】:D:\Program Files\MySQL\MySQL Server 5.6\lib\

6:右键项目》属性》配置属性》连接器》输入
 【附加依赖项】中添加 libmysql.lib。

7:复制mysql安装目录lib目录下的libmysql.dll到项目目录下的Debug文件下。

8:创建数据库和表

CREATE DATABASE  `test` ;
USE `test`;

/*Table structure for table `user_m` */
DROP TABLE IF EXISTS `user_m`;
CREATE TABLE `user_m` (
  `id` bigint(20) NOT NULL,
  `name` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


 

9:编写代码

#include<winsock2.h>
//定义socket
#include<iostream>
#include"mysql.h"
#include<string>

using namespace std;

MYSQL mysql;//mysql连接
MYSQL_RES * res; //这个结构代表返回行的一个查询结果集
MYSQL_ROW row;//一行记录

bool connectDB();
void resetConn();

void insertDB();
void queryDB();
void removeDB();
void updateDB();


int main() {
    
	if(connectDB()){
		cout << "数据库连接成功" << endl;
		insertDB();
		queryDB();

		updateDB();
		queryDB();

		removeDB();
		queryDB();

		resetConn();
	}else{
		cout << "数据库连接失败" << endl;
	}    


	system("pause");
	return 0;
}

void insertDB(){
	char * sql = "insert into user_m(id,name) values(1111,'aaaaa')";
	cout <<"插入语句:" << sql <<  endl;
	if(!mysql_query(&mysql, sql)) {
		cout <<"插入成功" << endl;
	}else{
		cout <<"插入失败" << endl;
	}
}

void removeDB(){
	char * sql = "delete from user_m";
	cout <<"删除语句:" << sql <<  endl;
	if(!mysql_query(&mysql, sql)) {
		cout <<"删除成功" << endl;
	}else{
		cout <<"删除失败" << endl;
	}
}

void updateDB(){
	char * sql = "update user_m set name='bbbbbbbbbbbbbbb'";
	cout <<"更新语句语句:" << sql <<  endl;
	if(!mysql_query(&mysql, sql)) {
		cout <<"更新成功" << endl;
	}else{
		cout <<"更新失败" << endl;
	}
}
void queryDB(){
	char  * sql = "select * from user_m";
	cout << "查询sql:" << sql << endl;
	if(!mysql_query(&mysql, sql)) {       //执行SQL语句
		//获取结果集
		res=mysql_store_result(&mysql);  //获得sql语句结束后返回的结果集
		if(res == NULL){
			cout << "" << endl;
		}
		cout << "查询结果:"  << endl;

		int num = mysql_num_fields(res) ; 
		while ( row = mysql_fetch_row ( res) ) { 
            for ( int r = 0 ; r < num ; r ++ ) { 
                cout << row [r] << ' '; 
            } 
            cout << endl ; 
        } 
	}else{
		cout << "查询失败" << endl;
	}
}
bool connectDB(){
	mysql_init(&mysql);
	return mysql_real_connect(&mysql,"localhost","root","123456","test",3306,0,0);
}

void resetConn(){
	//释放资源
	mysql_free_result(res);
	mysql_close(&mysql);
	cout << "释放连接" <<endl;
}



 

10:输出结果:

数据库连接成功
插入语句:insert into user_m(id,name) values(1111,'aaaaa')
插入成功
查询sql:select * from user_m
查询结果:
1111 aaaaa
更新语句语句:update user_m set name='bbbbbbbbbbbbbbb'
更新成功
查询sql:select * from user_m
查询结果:
1111 bbbbbbbbbbbbbbb
删除语句:delete from user_m
删除成功
查询sql:select * from user_m
查询结果:
释放连接
请按任意键继续. . .


 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值