
(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命令,而且有一个参数是,需要输入命令的字符数,用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]可以看成是一个字符串。
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月13日 13时57分18秒
关于作者

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