【MySQL】C语言连接数据库

2024-03-31 1235阅读

一、安装MySQL库

我们之前学习数据库都是在 Linux 的 mysql 客户端下以纯命令行的方式操作的,但其实,我们也可以使用 C/C++/Java/Python 等语言来连接数据库,向 mysqld 下达 sql 语句并获取执行结果。不过,在这之前,我们需要先安装 MySQL 对应的库,这里我们以 C 语言连接数据库为例。

关于 MySQL 的 C语言库,我们可以直接到 MySQL 官网中去下载,然后使用 rz指令 上传到 Linux 中解压。当然我们也可以通过 yum 来直接安装 mysql client 以及 mysql devel。

我们可以使用如下指令安装mysql client 和mysql devel

sudo yum install -y mysql-community-server
sudo yum install -y mysql-community-devel

我们可以使用如下指令进行查看:

ll /etc/yum.repos.d/

【MySQL】C语言连接数据库

安装完毕后我们就可以在 /usr/include/mysql 目录下找到 mysql 相关的头文件了:

【MySQL】C语言连接数据库

同时,我们也可以在 /lib64/mysql/ 以及 /usr/lib64/mysql 目录下找到 mysql 对应的动态库以及静态库了:

【MySQL】C语言连接数据库

验证引入是否成功

现在,我们就可以使用 mysql 目录下头文件中提供的相关函数来连接数据库了。

不过,在正式连接数据库之前,我们可以先通过 mysql_get_client_info() 函数来验证一下 mysql 相关头文件以及动态库是否被成功引入:

函数原型:const char *mysql_get_client_info(void);
返回值: A character string that represents the MySQL client library version.
#include 
#include 
int main()
{
    std::cout 
    // 1.初始化mysql句柄
    MYSQL *mysql = mysql_init(nullptr);
    if (mysql == nullptr)
    {
        std::cerr 
        std::cerr 
        std::cerr 
        std::cerr 
        std::cerr 
        mysql_close(mysql);
        return -1;
    }
    
    // 7.获取结果集中的结果条数
    uint64_t num_row = mysql_num_rows(res);
    int num_col = mysql_num_fields(res);
    
    // 8.获取列名
    MYSQL_FIELD *file_array = mysql_fetch_fields(res);
    for (int i = 0; i 
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]