1、安装好mysql
 
 
2、要实现C连接数据库,需要安装数据库连接器(即MySQL Connector/C)
   MySQL Connector/C是一个C语言的client库,这个库是为了实现client/server通信的。
   MySQL Connector/C是一个独立的替换为装有mysql server的mysql client库
 
 
3、要安装MySQL Connector/C,需要安装cmake。
 
     下载包:cmake-2.6.4.tar.gz
     mysql-connector-c-6.0.2-linux-glibc2.3-x86-32bit.tar.gz
 可能是因为我的英文比较烂吧,没看懂是怎么个编译过程,我就采用了一种比较笨的方法,如下。
  #3.1 解压两个压缩包:
   [root@localhost ...]#tar zxvf cmake-2.6.4.tar.gz
   [root@localhost ...]#tar zxvf mysql-connector-c-6.0.2-linux-glibc2.3-x86-
 
32bit.tar.gz
  #3.2 将解压后的cmake-2.6.4中的所有内容拷贝到mysql-connector-c-6.0.2-linux-
 
glibc2.3-x86-32bit中
  #3.3 进入mysql-connector-c-6.0.2-linux-glibc2.3-x86-32bit下,编译:
   [root@localhost ...]#./bootstrap (编译cmake)
   [root@localhost ...]#make
   [root@localhost ...]#make install
   [root@localhost ...]#cmake -G "Unix Makefiles"
   [root@localhost ...]#make
   [root@localhost ...]#make install
 
 
 
4、到mysql-connector-c-6.0.2-linux-glibc2.3-x86-32bit目录下
 
    将编译好MySQL Connector/C的/bin、/lib和/include拷贝
 
到/usr/bin、/usr/lib、/usr/include(这样在包含头文件时,就可以直接写成#include
 
"mysql.h")

[root@localhost ...]#cp -r /tmp/mysql-connector-c-6.0.2-linux-glibc2.3-x86-

 
32bit/bin/   /usr/bin/
 
 [root@localhost ...]#cp -r /tmp/mysql-connector-c-6.0.2-linux-glibc2.3-x86-
 
32bit/lib/   /usr/lib/
 
 [root@localhost ...]#cp -r /tmp/mysql-connector-c-6.0.2-linux-glibc2.3-x86-
 
32bit/include/   /usr/include/
 
 
 
5、编写*.c连接数据库程序。
 
例如:test.c
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include "mysql.h"
 
int main(void)
{
        MYSQL *conn_ptr;
        MYSQL_RES *res;
        MYSQL_ROW row;
 
        char *host = "127.0.0.1";
        char *user = "root";
        char *password = "";
        char *db = "mysql";
        unsigned int port = 0;
        char *unix_socket = NULL;
        unsigned long client_flag = 0;
 
        conn_ptr = mysql_init(NULL);
        if(!conn_ptr)
        {
                fprintf(stderr, "init mysql failed\n");
                return(-1);
        }
 
        conn_ptr = mysql_real_connect(conn_ptr, host, user, password, db, port, unix_socket, client_flag);
        if(conn_ptr)
        {
                printf("Connection success......\n");
        }
        else
        {
                fprintf(stderr, "Connection failed......%d:%s\n", errno, strerror(errno));
        }
 
 
        if( mysql_query(conn_ptr, "select host,user from user"))
        {
                fprintf(stderr, "call mysql_query failed......%d:%s\n",errno, strerror(errno));
        }
 
        res = mysql_use_result(conn_ptr);
        fprintf(stdout, "select host, user from user talbe in the mysql database:\n");
 
 
        while((row = mysql_fetch_row(res)))
        {
                fprintf(stdout, "%s\t%s\n", row[0], row[1]);
        }
 
 
        mysql_free_result(res);
        mysql_close(conn_ptr);
        return 0;
}
*对连接数据库函数的使用,可以参见http://dev.mysql.com/doc/refman/5.1/en/c-api-functions.html,也可以参见我的博文里的《C连接mysql——常用的函数》*
*对SQL语句的使用,可参见http://www.w3school.com.cn/sql/sql_delete.asp
 
 
 
6、编译连接test.c
 
[root@localhost ...]#gcc test.c -Wall -I/usr/include  -L/usr/lib  -lmysqlclient -o
 
test
在运行程序之前,一定要开启mysql服务
[root@localhost ...]#/etc/init.c/mysqld start
[root@localhost ...]# ./test
Connection success......
select host, user from user talbe in the mysql database:
127.0.0.1       root
localhost
localhost       root
 
 
*好了,大功告成,努力了很长时间才弄明白是怎么回事,如果有帮到你们,我也很开心,嘻嘻……*

我的C语言连接Mysql之路的更多相关文章

  1. C语言连接MySql数据库

    C语言连接MySql数据库(CodeBlocks) 操作系统:Windows7(32位)编译软件:Code::Blocks 10.05数 据 库:mysql-5.1.62-win32 数据库内的数据: ...

  2. Windows下用C语言连接Mysql注意问题

    原文:Windows下用C语言连接Mysql注意问题 环境是:在VS6.0 安装Mysql后,我们需要相应的头文件以及lib文件,所以安装过程必须是完整安装.否则不会生成include文件夹哦~ 具体 ...

  3. Linux centos 7/ubantu下: 用 C 语言连接 MySQL数据库

    前言:最近用IPC.socket做ATM.聊天项目,考虑到需要用到数据库,所以总结一下centos.ubantu环境下怎么用C语言操作数据库,例如常见的增删改查等! 一.Centos环境安装mysql ...

  4. Linux下C语言连接MySQL

    本文出自   http://blog.csdn.net/shuangde800 首先保证安装: 1:安装MySQL:sudo apt-get install mysql-server mysql-cl ...

  5. c语言连接mysql数据库的实现方法

    C语言连接mysql数据库,需要相应的头文件和lib文件,如果你安装Mysql数据库,会在安装目录下找到这些库文件,如果没有安装,也可以在网上找到 我这里也有一份网上找到的:/201205/other ...

  6. R语言-连接MySQL数据库方法

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   R语言连接数据库常用的方法有2种: 1.使用R数据库接口 连接MySQL,使用RMySQL包,使用前RMySQL包要先安 ...

  7. C语言连接mysql -insert-update

    C语言连接mysql数据库实现insert语句:数据库:test表:systeminfo CREATE TABLE `systeminfo` (  `id` int(11) NOT NULL AUTO ...

  8. R语言连接MYSQL

    操作系统:centos 6.4 64bit R语言可以使用RMySQL来连接Mysql数据库,直接使用数据库里面的数据生成图像. 这个是RMYSQL的说明: http://cran.r-project ...

  9. Mac上c语言连接mysql遇到的问题

    参照<Beginning Linux Programming>上的例程写了一个连接mysql的c语言小程序connect1.c.但是按照书上的编译命令无法编译.然后经过查阅资料解决了问题. ...

随机推荐

  1. 第五届CCPC河南省赛参赛有感

    10点开始,不过两次推迟了10分钟,也就是10点20开始.然后真的开始了,我还以为还会推迟10分钟. 比赛从密码输错开始,到瞎改代码疯狂提交结束. 输错密码,耽误了一点时间.点开签到题<文本修改 ...

  2. jquery中ajax使用error调试错误的方法,实例分析了Ajax的使用方法与error函数调试错误的技巧

    代码:$(document).ready(function() { jQuery("#clearCac").click(function() { jQuery.ajax({ url ...

  3. 从源码层面解析SpringIOC容器

    Spring IOC容器继承关系图 MessageSource支持消息国际化.ResouceLoader资源加载.BeanFactory创建Bean.ApplicationEventPublisher ...

  4. ZigZag编码

    ZigZag编码 在网络传输和数据存储场景中,需要对数据进行压缩.数据压缩的算法非常多,但大部分的数据压缩算法的原理是通过某种编码方式不存储数据中的0比特位,因此0比特位越多,数据压缩的效果越好.Zi ...

  5. Fix the error in NeighboringCellInfo.java in CM10.1

    1.error messenge: frameworks/base/telephony/java/android/telephony/NeighboringCellInfo.java:: error ...

  6. Git学习系列之Git基本操作推送项目(图文详解)

    前面博客 Git学习系列之Git基本操作提交项目(图文详解) 如果完成到一定程度,那么可以推送到远端在线仓库. 推送之前,请确保你已经设置了全局的 user.name 和 user.email, 如果 ...

  7. AngularJS 的常用特性(二)

    3.列表.表格以及其他迭代型元素 ng-repeat可能是最有用的 Angular 指令了,它可以根据集合中的项目一次创建一组元素的多份拷贝. 比如一个学生名册系统需要从服务器上获取学生信息,目前先把 ...

  8. npm安装过程中的win环境变量设置

    我们要先配置npm的全局模块的存放路径以及cache的路径,例如我希望将以上两个文件夹放在NodeJS的主目录下,便在NodeJs下建立”node_global”及”node_cache”两个文件夹. ...

  9. 前端自动化Gulp工具常用插件

    npm init命令初始化当前文件夹后,在当前文件夹新建gulpfile.js文件.当前目录下的所有操作流都在gulpfile.js文件中定义. gulp自动化 gulp-uglify (JS压缩) ...

  10. 令狐冲和TCP/IP协议的第三层协议的关系(经典)

    今天突然想起来去看了看我以前在csdn的博客,发现一篇以前一直被奉为经典的文章,哈哈,再转过来和大家看看:              令狐冲十四岁那年进入华山,那年岳琳珊八岁,岳不群白天给两人指点剑法 ...