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

2025-11-15 19:45:17 星际联赛

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

目录

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

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

#include

#include

#include

#include

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,指针给NULL

mysql=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

{

//获取结果集中的一行记录

MYSQL_ROW row=mysql_fetch_row(r);

for(int j=0;j

{

printf("%s ",row[j]);//获取记录中的某一列

}

printf("\n");

}

//5、释放结果集占用的空间(因为结果集是在堆区进行分配的)

mysql_free_result(r);

//6、关闭连接

mysql_close(mysql);

exit(0);

}

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