当前位置: 首页 > news >正文

MySQL数据库(三):读取数据库数据

      上一节,我们介绍了数据库的基本操作,以及最后演示了如何使用库来连接数据库,在实际应用中,我们通常需要按照指定的条件对数据库进行操作,即增删改查操作,这是非常重要的!这一节我们继续通过一个例子,来演示如何查询数据库。

目录

一、数据库操作常用库函数

1.1 按照指定条件获取结果集

1.2 获取结果集中有多少条记录(行)

1.3 取出结果集中的一条记录(行)

1.4 查看一条记录的列数

1.5 释放结果集占用的内存

1.6 获取错误信息

二、利用库函数实现对数据库的打印/查询(掌握)


一、数据库操作常用库函数

1.1 按照指定条件获取结果集

1.2 获取结果集中有多少条记录(行)

1.3 取出结果集中的一条记录(行)

1.4 查看一条记录的列数

1.5 释放结果集占用的内存

1.6 获取错误信息

二、利用库函数实现对数据库的打印/查询(掌握)

mysql客户端连接服务器端流程,如何操作数据库:增删改查!

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <mysql/mysql.h>int main()
{//1、创建连接句柄MYSQL mysql_con;//句柄实际是一个结构体//2、初始化连接句柄MYSQL*mysql=mysql_init(&mysql_con);if(mysql==NULL){printf("mysql_init err\n");exit(1);}//3、连接数据库服务端:连接句柄、用户名字、密码、ip地址、端口、数据库名字、标志位给0,指针给NULLmysql=mysql_real_connect(mysql,"127.0.0.1","root","111111","c2024db",3306,NULL,0);if(mysql==NULL){printf("连接失败\n");exit(1);}printf("连接成功\n");//4、调用库函数对数据库操作//char*sql="insert into student values(1004,'小张',30)";char*sql="select * from student";   //查询操作//char*sql="select * from student where age>22";//按照指定条件获取结果集//char*sql="update student set age=30 where name='小张'";修改//char*sql="delete from student  where id=1003";删除int res=mysql_query(mysql,sql);//执行sql语句if(res!=0){printf("执行sql失败\n");exit(1);}//提取结果集MYSQL_RES *r=mysql_store_result(mysql);if(r==NULL){printf("获取结果集失败\n");exit(1);}//查看结果集有多少条记录(行)int num=mysql_num_rows(r);printf("查询到%d条记录\n",num);//获取记录有多少列int count=mysql_field_count(mysql);printf("列数:%d\n",count);for(int i=0;i<num;i++){//获取结果集中的一行记录MYSQL_ROW row=mysql_fetch_row(r); for(int j=0;j<count;j++){printf("%s   ",row[j]);//获取记录中的某一列}printf("\n");}//5、释放结果集占用的空间(因为结果集是在堆区进行分配的)mysql_free_result(r);//6、关闭连接mysql_close(mysql);exit(0);
}

至此,数据库第三节就已经介绍完毕,感谢大家的阅读,更多精彩内容见后期,下期再见!

http://www.lryc.cn/news/385905.html

相关文章:

  • 分销裂变实战:PLG模式如何助力企业突破增长瓶颈
  • 定积分定义求极限专题
  • LLaMA:挑战大模型Scaling Law的性能突破
  • vue3 +elementPlus上传照片墙
  • Charles网络抓包工具安装和web抓包(一)
  • mysql workbench使用schema视图导出表和列结构到excel
  • Linux操作系统--软件包管理(保姆级教程)
  • 【uniapp】HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE
  • Rust详解日志
  • 某麦网自动刷新抢票脚本——手机端(高级版)
  • 【MySQL】(基础篇十八) —— 触发器
  • [19] Opencv_CUDA应用之 基于形状的对象检测与跟踪
  • 【Echarts】散点图 制作 气泡 类型图表
  • 深入理解Spring Boot的启动过程
  • 【深度学习】卷积神经网络CNN
  • 游戏AI的创造思路-技术基础-深度学习(3)
  • 贪心算法练习题(2024/6/24)
  • 大厂程序员上班猝死成常态?
  • 深度学习 —— 1.单一神经元
  • Android 12.0 通知发送过程源码分析-Framework
  • 提防远程攻击:了解正向 Shell 和反向 Shell 确保服务器安全
  • RabbitMQ中CorrelationData 与DeliveryTag的区别
  • 数据恢复篇:如何在Android上恢复删除的短信
  • 花了大几万的踩坑经验!宠物空气净化器哪个牌子好:希喂、小米、有哈PK
  • 查普曼大学团队使用惯性动捕系统制作动画短片
  • vue 代理
  • [leetcode]24-game
  • 网络爬虫的原理
  • 游戏AI的创造思路-技术基础-机器学习(2)
  • 【深度学习】记录为什么没有调用GPU