热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C操作MYSQL数据库

MYSQL数据库在许多编程语言里都会提供相应的调用接口,经典的C当然不会例外,直接用C进行调用数据库操作,效率会比较高些。下面是在LINU

MYSQL数据库在许多编程语言里都会提供相应的调用接口,经典的C当然不会例外,直接用C进行调用数据库操作,效率会比较高些。下面是在LINUX上使用MYSQL的例子:

#include
#include
#include "mysql/mysql.h" int main(void)
{int status = 0;const char *host = "";//这里为空或者localhost时,为对本机进行操作,当时这里应该加上相应的服务器地址, 如10.0.0.211const char *user = "hello";//这里以何用户登陆数据库const char *pass = "123456";//这里是用户密码const char *db = "ProjectA";//这里是数据库名char sql[1024];/* 定义mysql变量, 结构体可以参看相关的说明 */MYSQL mysql;MYSQL_RES *rs;MYSQL_ROW row;mysql_init(&mysql); /* 初始化 *//* 连接数据库 */if (!mysql_real_connect(&mysql, host, user, pass, db, 0, NULL, 0)){printf("数据库连接失败: %s\n", mysql_error(&mysql));status = -1;} else {printf("数据库连接成功!\n");}//数据库操作时使用utf8字符集,一般用C操作MYSQL会遇到中文乱码,往往是字符集问题, 在此设置后问题可以得到解决if (!mysql_set_character_set(&mysql, "utf8")){ printf("New client character set: %s\n",mysql_character_set_name(&mysql));status = -2;}sprintf(sql, "select CommPassword, sn from Machines");if (mysql_real_query(&mysql, sql, strlen(sql))!=0){ /* 实质的操作,select update insert delete 等 */printf( "%s", mysql_errno(&mysql), mysql_error(&mysql));printf("error---\n");status = -3;}rs = mysql_store_result(&mysql); /* 获取查询结果, 这里注意要释放结果集 */if(mysql_num_rows(rs) > 0)//查看一下结果集里的行数,如果大于0,说明不为空集,那么可以进行下一步的读取操作。 另外此处要注意的是, mysql_num_rows形参跟的是一个指针{row = mysql_fetch_row(rs);//取出一行数据,当然也可以用mysql_fetch_row接口printf("row-1 %s, row-2 %s\n", row[0], row[1]);}mysql_free_result(rs); /* 释放结果集 */mysql_close(&mysql); /* 关闭连接 */return status;
}

由于用到了mysql相关的接口,所以在编译里需要加入mysqlclient库,如下
gcc Mysql.c -o Mysql -lmysqlclient Mysql.c为以上提供的源代码。
编译过程里遇到的问题:
Mysql.c:3:27: fatal error: mysql/mysql.h: No such file or directory
在ubuntu里直接sudo apt-get install libmysqlclient-dev, 安装一下libmysqlclient-dev这个库包即可。




推荐阅读
author-avatar
芬妮诗婚纱厂
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有