Linux C连接Mysql数据库的方法
2013-12-28 17:28
357 查看
1.首先要找到mysql.h头文件的位置
/usr/include/mysql
(使用命令 where is mysql 可以找到mysql安装的位置)
2.源文件的编译方法
1.先编译 gcc -o connect mysql2.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient (mysql -lmysqlclient之间要 有空格,—I 是加入 include头文件,-L是加入lib)
2.后执行 ./connect
3.操作数据库的代码
/usr/include/mysql
(使用命令 where is mysql 可以找到mysql安装的位置)
2.源文件的编译方法
1.先编译 gcc -o connect mysql2.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient (mysql -lmysqlclient之间要 有空格,—I 是加入 include头文件,-L是加入lib)
2.后执行 ./connect
3.操作数据库的代码
/* ============================================================================ Name : mysql.c Author : Version : Copyright : Your copyright notice Description : Hello World in C, Ansi-style ============================================================================ */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include </usr/include/mysql/mysql.h> /** * 测试链接数据库 */ void ConnectionTest(); /** * 插入数据 */ void InsertData(); /** * 删除数据 */ void DeleteData(); /** * 查询数据 */ void QueryData(); int main(void) { //ConnectionTest(); //InsertData(); //DeleteData(); QueryData(); return 0; } /** * 测试链接数据库 */ void ConnectionTest(){ MYSQL mysql; //int t,r; mysql_init(&mysql); /** * &mysql:数据库的;连接句柄引用 * "localhost": 数据库的位置,"localhost"表示本机,也可以用ip地址远程链接 * "root":管理员名陈 * "123":密码 * "test":数据库名称 */ if(mysql_real_connect(&mysql, "localhost","root","123","test",0,NULL,0)){ printf("Connted Mysql successful!\n"); }else{ printf("Connted Mysql failed!\n"); } mysql_close(&mysql); } /** * 插入数据 */ void InsertData(){ MYSQL mysql;//mysql数据库链接句柄 MYSQL_RES *res;//该结构代表返回行的查询结果 MYSQL_ROW row;//这个是一行数据的类型安全 char *query; int flag; mysql_init(&mysql); if(mysql_real_connect(&mysql, "localhost","root","123","test",0,NULL,0)){ printf("Connted Mysql successful!\n"); }else{ printf("Connted Mysql failed!\n"); } query = "insert into student(id,name) values(5,5)"; /** * flage 为插入的标记变量,插入成功返回0 */ flag = mysql_real_query(&mysql,query,(unsigned int)strlen(query)); if(flag == 0){ printf("Insert data success !\n"); }else{ printf("Inser data failure !\n"); } mysql_close(&mysql); } /** * 删除数据 */ void DeleteData(){ MYSQL mysql; MYSQL_RES *res; MYSQL_ROW row; char* query; int flag; mysql_init(&mysql); if(mysql_real_connect(&mysql,"localhost","root","123","test",0,NULL,0)){ printf("Connted Mysql successful!\n"); }else{ printf("Connted Mysql failed!\n"); } query = "delete from student where id=1"; /** * flage 为删除的标记变量,删除成功返回0 */ flag = mysql_real_query(&mysql, query, (unsigned int)strlen(query)); if(flag == 0){ printf("Delete data success !\n"); }else{ printf("Delete data failure !\n"); } mysql_close(&mysql); } /** * 查询数据 */ void QueryData(){ MYSQL mysql; MYSQL_RES *res; MYSQL_ROW row; char* query; int flag,i; mysql_init(&mysql); if(mysql_real_connect(&mysql,"localhost","root","123","test",0,NULL,0)){ printf("Connted Mysql successful!\n"); }else{ printf("Connted Mysql failed!\n"); } query = "select * from student"; /** * flage 为查询的标记变量,查询成功返回0 */ flag = mysql_real_query(&mysql, query, (unsigned int)strlen(query)); if(flag == 0){ printf("query data success [%s]!\n",query); }else{ printf("query data failure !\n"); } /*mysql_store_result讲全部的查询结果读取到客户端*/ res = mysql_store_result(&mysql); /*mysql_fetch_row检索结果集的下一行*/ while(row = mysql_fetch_row(res)){ /*mysql_num_fields返回结果集中的字段数目*/ for(i=0;i<mysql_num_fields(res);i++){ printf("%s\t",row[i]); } printf("\n"); } mysql_close(&mysql); }
相关文章推荐
- 黑马程序员——初学Linux
- Linux学习笔记17——输入输出重定向
- wps for linux出现“系统缺失字体”错误提示的解决办法。
- 在Linux程序中输出函数调用栈
- misc_vi标签页
- 深入分析 Linux 内核链表
- linux内核组件初始化体系 .
- Linux的驱动器是如何标识 设备号 hda 和 sda区别
- linux命令后台运行
- 【揭秘】linus当年创立linux的过程-0x1
- Linux学习笔记16——wait函数
- linux U盘挂载
- linux 逻辑卷lvm
- linux 基本的存储管理
- 把linux系统改成中文版
- linux 进程管理
- Linux-IO端口、IO内存详解
- linux解压缩命令总结
- Linux CentOS解决Device eth0 does not seem to be present问题
- 为什么要学习Linux