Dev-C++连接mysql数据库

Dev-C++连接mysql数据库

01-前期准备

1、下载并安装好 MySQL
2、确保 MySQL 服务正常运行,且能通过如下命令启动MySQL:
mysql -h localhost -uroot -p
3、知道 MySQL 安装位置,比如:
C:\Program Files\MySQL\MySQL Server 8.0

02-编译选项配置

1、点击:工具→编译选项,进入配置页面:
在这里插入图片描述
2、在"编译器"配置项中,添加:“-lmysql” 参数
(注意:“-static-libgcc” 与 “-lmysql” 之间有空格隔开!)
在这里插入图片描述
3、在:目录→库 中添加 MySQL 的库文件目录:

C:\Program Files\MySQL\MySQL Server 8.0\lib

在这里插入图片描述
4、在:目录→C包含文件 和 目录→C++包含文件 中依次都添加 MySQL 的包含文件目录:

C:\Program Files\MySQL\MySQL Server 8.0\include

在这里插入图片描述

03-数据库驱动添加

为了连接 MySQL 数据库,需要在项目运行文件夹中加入 MySQL 驱动文件,驱动文件名为:“libmysql.dll”,该文件在如下路径中:

C:\Program Files\MySQL\MySQL Server 8.0\lib

将该文件复制到项目目录,如图所示:
在这里插入图片描述

04-数据库连接步骤

A、头文件 stdio.h stdlib.h string.h winsock2.h
B、驱动搭载 #pragma comment(lib,“libmysql”);
C、MySQL 的函数库引入

#include "C:\Program Files\MySQL\MySQL Server 8.0\include\mysql.h"

但由于之前配置了编译环境,因此可以直接简写为:

#include<mysql.h>

D、设置连接数据库的参数:

#define HOST "localhost"
#define USERNAME "root"
#define PASSWORD "123456"
#define DATABASE "lgl"

E、连接数据库

MYSQL mysql;
mysql_init(&mysql);
if(mysql_real_connect(&mysql,HOST,USERNAME,PASSWORD,DATABASE,0,NULL,CLIENT_FOUND_ROWS)){
	//连接成功
	printf("连接成功!\n");
}else{
	//连接失败
	printf("连接失败!\n");
}

05-代码举例

数据操作:插入/删除/查询/修改

mysql_query(&mysql,"sql语句");
#include<stdio.h>				//流函数库 
#include<stdlib.h>				//标准库 
#include<string.h>				//字符串库 
#include<winsock2.h>			//连接模式库 

#pragma comment(lib,"libmysql");//驱动环境 

#include<mysql.h>				//数据库操作函数环境 

#define HOST "localhost"		//数据库服务名 
#define USERNAME "root"			//用户名 
#define PASSWORD "123456"	//密码 
#define DATABASE "lgl"			//连接目标数据库 

int main() {
	MYSQL mysql;	//声明数据库变量
	mysql_init(&mysql);	//初始化数据库连接
	
	MYSQL_RES *result=NULL;
	MYSQL_FIELD *field;
	MYSQL_ROW row;
	int i,num;
	
	if(mysql_real_connect(&mysql,HOST,USERNAME,PASSWORD,DATABASE,0,NULL,CLIENT_FOUND_ROWS)) {//数据库连接函数
		//连接成功
		printf("连接成功!\n");
		//插入数据 
		mysql_query(&mysql,"insert into test(name,money) values('lgl888',100000)");
		mysql_query(&mysql,"commit");//作用: 有时数据还在缓存中, 为了确保完成, 可以用commit提交一下事物。一般是不需要做的
		//查询数据 
		i=mysql_query(&mysql,"select * from test");  //返回值为0则表示查询成功 
		if(!i){
			result=mysql_store_result(&mysql);
			if(result){
				//获取字段数量和名称 
				printf("---------------获取字段数量和名称---------------\n");
				num=mysql_num_fields(result);
				printf("字段共有%d个!\n",num); 
				while(field=mysql_fetch_field(result)){
					printf("字段名: %s\n",field->name);
				}
				//获取查询结果
				printf("------------------获取查询结果------------------\n");
				while(row=mysql_fetch_row(result)){
					printf("查询结果: id=%s name=%s money=%s\n",row[0],row[1],row[2]);
				} 
			}
		}else{
			printf("查询失败!\n");
		}
	} else {
		//连接失败
		printf("连接失败!\n");
	}
	return 0;
}
  • 28
    点赞
  • 200
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

☜lgl☞

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

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

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

打赏作者

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

抵扣说明:

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

余额充值