C语言连接mysql数据库(二)

上一篇《C语言连mysql数据库(一)》着重讲解了vs环境下的 连接配置
本篇重点 放在对数据库的操作上

  1. select查询数据库情况
#include<stdio.h>
#include<mysql.h>
#pragma comment(lib,"libmysql.lib")

int main()
{
	MYSQL mysql;
	mysql_init(&mysql);

	if (!mysql_real_connect(&mysql,
		"localhost", "root", "***", "db01", 3306, NULL, 0)) {
		printf("数据库 连接失败!");
		system("pause");
		return 0;
	}

	const char * sql = "select * from breakfast where spam=0";
	// 只进行查询,不修改数据库
	if (mysql_real_query(&mysql, sql, 37)) {
		printf("sql语句执行期间出错!");
		system("pause");
		return 0;
	}

	MYSQL_RES *sr; // 结果集,记录查询结果

	sr = mysql_store_result(&mysql);
	
	if (sr->row_count == 0) {
		printf("sql 语句无返回结果\n");
	}
	else {
		MYSQL_ROW row;
		// 打印所有属性列,不考虑索引
		while (row = mysql_fetch_row(sr)) {
			while (strcmp("", *(row)))
			{
				printf("%s\t", *(row++));
			}
			printf("\n");
		}
	}

	mysql_free_result(sr);
	mysql_close(&mysql);
	system("pause");
}

  1. 非查询数据库的情况(insert,delete,update等)
#include<stdio.h>
#include<mysql.h>
#pragma comment(lib,"libmysql.lib")

int main()
{
	MYSQL mysql;
	mysql_init(&mysql);


	if (!mysql_real_connect(&mysql, "localhost", "root", "***", "db01",
		3306, NULL, 0)) {
		printf("数据库连接失败!\n");
		system("pause");
		return 0;
	}

	const char * sql = "insert into breakfast values('dududu',1,2,3,88.88)";

	if (mysql_real_query(&mysql, sql, strlen(sql))) {
		printf("sql 语句执行出错\n");
		system("pause");
		return 0;
	}
	// mysql_real_query函数判断sql语句是否执行成功
	// 对于非select 语句,没有结果集,调用mysql_store_result函数没意义


	//MYSQL_RES *sr = mysql_store_result(&mysql);

	system("pause");
}
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值