(Mysql 二)Linux C语言显示mysql数据库中某个表的数据
发布日期:2021-05-07 04:38:55 浏览次数:17 分类:精选文章

本文共 1493 字,大约阅读时间需要 4 分钟。

我会先帖简单的带注释的代码,再详细解释

首先,看一下Linux下Mysql数据库的数据,最后再用程序打印出来

从上图我们可以看出,在一个名为 test数据库中,有一个名为 Msg的表..并且表中的内容,也显示了出来。

接下来的程序,就是要打印Msg表中的所有数据。

#include
#include
#include
int main(int argc, char const *argv[]){ MYSQL *mysql; MYSQL_RES *res; MYSQL_ROW row; int t; /*SELECT * FROM Msg是一个MYSQL语句,意思为获取 名为Msg的表中的所有数据*/ char *query = "SELECT * FROM Msg"; /*初始化mysql句柄*/ mysql = mysql_init(NULL); /*链接mysql数据库,连接的库名为test*/ if(!mysql_real_connect(mysql,"localhost","root","zhujunwen" ,"test",0,NULL,0)) { printf("failed to connect:%s\n",mysql_error(mysql)); return -1; } /*往MYSQL数据库发送MYSQL语句,成功返回0*/ t=mysql_real_query(mysql,query,(unsigned int)strlen(query)); if(t) { printf("failed to query:%s\n",mysql_error(mysql)); return -1; } /*用res获取刚发送的MYSQL语句 返回的结果集*/ res = mysql_store_result(mysql); /*mysql_fetch_row用于获取结果集中的下一行数据*/ while(row=mysql_fetch_row(res)) { /*mysql_num_fields返回结果集的一行中有多少列个数据*/ for(t=0;t

程序执行结果:

要大概讲讲的是函数:mysql_real_query(),mysql_store_result(),mysql_fetch_row(),mysql_num_fields()

mysql_real_query():往数据库发送MYSQL命令,而且有一个参数是,需要输入命令的字符数,用strlen就可以

mysql_store_result():当往mysql数据发送一个MYSQL语句之后,这个函数就返回MYSQL语句获取到的结果集,获取了结果集,记得最后要

                                         释放掉,下面再说说我的间接什么是结果集。

mysql_fetch_row():对结果集进行处理,获取结果集的下一行数据,进行处理。

mysql_num_fields():返回 结果集的一个数据中有多少列。

何为结果集:

在我看来

上图就是一个结果集,mysql_store_result返回的就是类似这样的一个表格。(不包括 num,name,sex等字段)

结合上面的程序,那个while循环嵌套for循环,应该不难看懂。

另外row的类型是MYSQL类型,其实就是 char**类型,所以row[t]中放的是一个指向一个字符串首地址的指针(也可以看成放的是一个字符串的首地址)。

所以row[t]可以看成是一个字符串。

上一篇:用电脑远程登陆linux服务器MYSQL数据库
下一篇:MYSQL基本操作常用语句

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月13日 13时57分18秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章