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数据库的连接

转载于:https://www.cnblogs.com/dpf-learn/p/7512575.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言连接MySQL数据库,可以使用MySQL提供的C API。以下是一个简单的示例代码: ```c #include <mysql.h> #include <stdio.h> int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "password"; /* set me first */ char *database = "testdb"; conn = mysql_init(NULL); /* Connect to database */ if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); return 1; } /* Execute SQL query */ if (mysql_query(conn, "SELECT * FROM testtable")) { fprintf(stderr, "%s\n", mysql_error(conn)); return 1; } res = mysql_use_result(conn); /* Output table name */ printf("MySQL Tables in mysql database:\n"); while ((row = mysql_fetch_row(res)) != NULL) printf("%s \n", row[0]); /* close connection */ mysql_free_result(res); mysql_close(conn); return 0; } ``` 这个示例代码演示了如何连接到本地MySQL服务器,并执行一个简单的SELECT查询来获取数据表的名称。请注意,这个示例代码假设你已经正确安装和配置了MySQL服务器,并创建了一个名为testdb的数据库和一个名为testtable的表。如果你需要连接到不同的MySQL服务器或使用不同的数据库和表,请相应地修改代码中的变量。 此外,为了编译这个程序,你需要安装MySQL C API库,例如libmysqlclient-dev。在Ubuntu上,你可以通过以下命令安装: ``` sudo apt-get install libmysqlclient-dev ``` 在其他Linux发行版或操作系统上,也可以通过相应的包管理器或下载源代码编译安装来安装MySQL C API库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值