Linux平台上用C语言实现与MySQL数据库的连接

  1. 安装编译工具 ---- 这将安装gcc/g++/gdb/make 等基本编程工具:

    sudo apt-get install build-essential

    Linux平台上用C语言实现与MySQL数据库的连接
  2. 输入命令"sudo apt-get install mysql",再连按2下Tab键,目的是查看自己当前的软件源中有关mysql的信息。

    Linux平台上用C语言实现与MySQL数据库的连接
  3. 我选择安装:

    sudo apt-get install mysql-server mysql-client

    Linux平台上用C语言实现与MySQL数据库的连接
  4. 输入命令"sudo apt-get install libmysql",再连按2下Tab键,查看自己当前的软件源中有关libmysql的信息。

    Linux平台上用C语言实现与MySQL数据库的连接
  5. 其他程序在编译使用MySQL时链接使用的库和头文件,我选择安装libmysqlclient-dev(选择安装其他的也可以,但不一定都能编译通过):

    sudo apt-get install libmysqlclient-dev

    Linux平台上用C语言实现与MySQL数据库的连接
  6. 查看安装的MySQL版本:

    mysql --version

    连接MySQL客户端函数库所需要的头文件的存放位置:

    mysql_config --cflags

    连接MySQL客户端函数库所需要的库文件的存放位置

    mysql_config --libs

    Linux平台上用C语言实现与MySQL数据库的连接
  7. 测试代码如下:

    //查询操作

    #include <mysql/mysql.h>

    #include <stdio.h>

    #include <stdlib.h>

    #define HOST "localhost"

    #define USERNAME "用户名"

    #define PASSWORD "密码"

    #define DATABASE "PublicResourcesDB"

    int main(void)

    {

        MYSQL mysql;

        MYSQL_ROW row;

        MYSQL_RES *result;

        unsigned int num_fields;

        unsigned int i;

        mysql_init(&mysql);

        if(!mysql_real_connect(&mysql, HOST, USERNAME, PASSWORD, DATABASE, 0, NULL, 0))

        {

            printf("Connection failed,%s\n",mysql_error(&mysql));

        }

        mysql_query(&mysql, "set names utf8");

        if(!mysql_query(&mysql,"SELECT * FROM area"))

        {

            result = mysql_store_result(&mysql);

            if(!result)

            {

                perror("result error.");

                exit(1);

            }

            num_fields = mysql_num_fields(result);

            while(row = mysql_fetch_row(result))

            {

                for(i=0; i<num_fields; i++)

                {

                    printf("%s\t",row[i]);

                }

                printf("\n");

            }

            mysql_free_result(result);

        }

        mysql_close(&mysql);

        return 0;

    }

  8. 编译命令:

    gcc -o mysql_test mysql_test.c  `mysql_config --cflags --libs`

    (或者gcc -o mysql_test mysql_test.c  -lmysqlclient)

    运行命令:

    ./mysql_test

    运行后的结果和用MySQL Workbench查询出来的结果一样。

    Linux平台上用C语言实现与MySQL数据库的连接
    Linux平台上用C语言实现与MySQL数据库的连接
    Linux平台上用C语言实现与MySQL数据库的连接
posted @ 2017-09-12 22:31  丁培飞  阅读(326)  评论(0编辑  收藏  举报