http://blog.csdn.net/small_qch/article/details/8180678

初学使用用C语言操作MYSQL,写了个小例子,帖上来献丢人一下,呵呵。

程序很简单,先连接数据库,然后向class1表中插入一条数据,最后获取并输出整个class1表的内容。

上代码:

[cpp] view plain copy
  1. //test.c
  2. //gcc test.c -o test -lmysqlclient
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <mysql/mysql.h>
  6. //发生错误时,输出错误信息,关闭连接,退出程序
  7. void error_quit(const char *str, MYSQL *connection)
  8. {
  9. fprintf(stderr, "%s : %d: %s\n",
  10. str, mysql_errno(connection),
  11. mysql_error(connection));
  12. if( connection != NULL )
  13. mysql_close(connection);
  14. exit(1);
  15. }
  16. int main(int argc, char *argv[])
  17. {
  18. MYSQL *my_con = malloc( sizeof(MYSQL) );
  19. MYSQL_RES *my_res;
  20. MYSQL_FIELD *my_field;
  21. MYSQL_ROW my_row;
  22. int rows, i;
  23. int res;
  24. //连接数据库
  25. mysql_init(my_con);
  26. my_con = mysql_real_connect(my_con, "localhost", "test", "aaaaaaa",
  27. "test1", 0, NULL, CLIENT_FOUND_ROWS);
  28. if( NULL == my_con )
  29. error_quit("Connection fail", my_con);
  30. printf("Connection success\n");
  31. //向数据库中插入一条记录
  32. res = mysql_query(my_con,
  33. "insert into class1(name, age, birthday) value('abc', 52, NOW());");
  34. if( res != 0 )
  35. error_quit("Insert fail", my_con);
  36. //返回的是表中被影响的行数
  37. res = mysql_affected_rows(my_con);
  38. printf("Inserted %d rows\n", res);
  39. //获取整个表的内容
  40. res = mysql_query(my_con, "select * from class1;");
  41. if( res != 0 )
  42. error_quit("Select fail", my_con);
  43. my_res = mysql_store_result(my_con);
  44. if( NULL == my_res )
  45. error_quit("Get result fail", my_con);
  46. //获取表的列数
  47. rows = mysql_num_fields(my_res);
  48. //获取并输出表头
  49. my_field = mysql_fetch_fields(my_res);
  50. for(i=0; i<rows; i++)
  51. printf("%s\t", my_field[i].name);
  52. printf("\n-------------------------------------\n");
  53. //输出整个表的内容
  54. while( 1 )
  55. {
  56. my_row = mysql_fetch_row(my_res);
  57. if( NULL == my_row )
  58. break;
  59. for(i=0; i<rows; i++)
  60. {
  61. if( my_row[i] == NULL )
  62. printf("NULL\t");
  63. else
  64. printf("%s\t", (char*)my_row[i]);
  65. }
  66. printf("\n");
  67. }
  68. //释放空间,关闭连接
  69. mysql_free_result(my_res);
  70. mysql_close(my_con);
  71. free(my_con);
  72. return 0;
  73. }

运行结果:

[plain] view plain copy
  1. Connection success
  2. Inserted 1 rows
  3. id  name    age birthday
  4. -------------------------------------
  5. 49  ddd 43  2012-11-09 09:49:41
  6. 50  fff 31  0000-00-00 00:00:00
  7. 58  eee 32  NULL
  8. 59  qqq 43  NULL
  9. 78  abc 52  2012-11-13 14:47:55

C语言操作MYSQL小例子相关推荐

  1. c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...

    这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...

  2. Linux C语言操作MySQL

    1.MySQL数据库简介 MySQL是一个开源码的小型关系数据库管理系统,体积小,速度快,总体成本低,开源.MySQL有以下特性: (1) 使用C和C++编写,并使用了多种编译器进行测试,保证源码的可 ...

  3. golang mysql curd_Go 语言操作 MySQL 之 CURD 操作

    本文转载于SegmentFault社区 作者:Meng小羽 MySQL 是目前开发中最常见的关系型数据库,使用 Go 语言进行操控数据库需要使用 Go 自带database/sql和驱动go-sql- ...

  4. c web mysql数据库_C语言操作MySQL数据库

    原作者博客http://www.cnblogs.com/nliao/archive/2010/09/09/1822660.html 先看结构体 ---------------------------- ...

  5. 用C语言操作MySQL数据库-通用版

    用C语言操作MySQL数据库 先看结构体: 以下代码块是用来连接数据库的通讯过程,要连接MYSQL,必须建立MYSQL实例,通过mysql_init初始化方能开始进行连接. typedef struc ...

  6. c语言将数据写入mysql中_用C语言操作MySQL数据库

    先看结构体 ---------------------------------------------- 以下代码块是用来连接数据库的通讯过程,要连接MYSQL,必须建立MYSQL实例,通过mysql ...

  7. c语言连接mysql(入门)_MySQL入门之C语言操作MySQL

    基本概念 C APIs包含在mysqlclient库文件当中,与MySQL的源代码一块发行,用于连接到数据库和执行数据库查询.#include #include #include #include # ...

  8. go语言mysql操作_使用Go语言操作MySQL数据库的思路与步骤

    最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork. 软件环境:Goland.Navicat f ...

  9. linux下c语言调用mysql,Linux下C语言操作MYSQL总结

    Linux下C语言操作MYSQL总结 发布时间:2006-12-17 00:40:00来源:红联作者:anciens 下文的用到的数据库表: 数据库中存在表table, 有name(varchar类型 ...

最新文章

  1. 2020多校第1场A题【后缀数组+思维】
  2. 数据结构Java06【赫夫曼树、概述、原理分析、代码实现(数据压缩、创建编码表、解码、压缩文件、解压文件)】
  3. 计算机快捷截图方式,电脑如何快速截图,电脑快速截屏的几种方法
  4. 曲率曲线JAVA_DEM曲率计算
  5. 中文输入纠错任务整理
  6. 【音频处理】使用 Adobe Audition 录制电脑内部声音 ( 启用电脑立体声混音 | Adobe Audition 中设置音频设备 | Adobe Audition 内录 )
  7. 2019年6月全国程序员工资统计--两个月岗位减少11%,互联网寒冬来了
  8. html动态表格用数组填充,自动填充数组中的HTML表格
  9. 音乐与现代计算机技术,计算机音乐技术在音乐教育中的应用.doc
  10. 基于stm32的车辆减速灯项目——MPU6050或ADXL345
  11. python如何提交作业_python分析作业提交情况
  12. SSM整合之CRUD增删改查案例(非ajax版)
  13. 用Java语言编写打印菱形
  14. 五面拿下阿里飞猪offer,java电子书百度云
  15. 使用VMWare虚拟机创建CentOS版本的Linux学习环境(每一步都有截图与说明)
  16. 广九客运段铁路“姐妹花”春运真情服务获旅客点赞
  17. Nginx缓存、静态文件缓存配置
  18. python pandas 官网_时间序列的Python-Pandas随机抽样
  19. 笑到爆,产品经理VS大堂经理
  20. 搜苹果ipad版_iPad抠图比PC更给力 iPad版PS的自动抠图神了

热门文章

  1. 使用maven插件构建docker镜像
  2. 字符串分割与存入List集合
  3. Python中如何读取xml的数据
  4. Spring之HibernateTemplate 和HibernateDaoSupport
  5. 介绍针对企业级Flex开发的开源项目FlexibleShare
  6. Linux中后台执行scp
  7. 从MySQL导入导出大量数据的程序实现方法
  8. flash调用js中的方法,让js传递变量给flash (兼容 IE FF) (转)
  9. flower.php,flower.php
  10. linux基本命令du,Linux常用操作命令汇总