CentOS C 连接 MySQL 插入语句

介绍

在开发过程中,我们经常需要将数据存储到数据库中。MySQL 是一个流行的开源关系型数据库管理系统,我们可以使用 C 语言来连接 MySQL 并执行插入语句。

本文将介绍如何在 CentOS 系统中使用 C 语言连接 MySQL 并执行插入语句的步骤。

准备工作

在开始之前,我们需要确保已经安装了以下软件:

  • CentOS 系统
  • MySQL 数据库
  • C 语言编译器(如 GCC)

步骤

1. 安装 MySQL Connector/C

MySQL Connector/C 是 MySQL 官方提供的 C 语言连接库。

在 CentOS 上,我们可以使用以下命令安装 MySQL Connector/C:

sudo yum install mysql-connector-c-devel

2. 创建数据库和表

首先,我们需要在 MySQL 中创建一个数据库和一个表来存储数据。

登录到 MySQL:

mysql -u root -p

创建一个名为 mydb 的数据库:

CREATE DATABASE mydb;

切换到 mydb 数据库:

USE mydb;

创建一个名为 users 的表:

CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    email VARCHAR(50)
);

3. 编写 C 代码

创建一个名为 insert.c 的文件,并使用以下代码:

#include <stdio.h>
#include <mysql/mysql.h>

int main() {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;

    char *server = "localhost";
    char *user = "root";
    char *password = "password";
    char *database = "mydb";

    conn = mysql_init(NULL);

    if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
        fprintf(stderr, "%s\n", mysql_error(conn));
        return 1;
    }

    if (mysql_query(conn, "INSERT INTO users (name, email) VALUES ('John Doe', 'johndoe@example.com')")) {
        fprintf(stderr, "%s\n", mysql_error(conn));
        return 1;
    }

    printf("Data inserted successfully!\n");

    mysql_close(conn);

    return 0;
}

在上面的代码中,我们首先包含了 <stdio.h><mysql/mysql.h> 头文件。然后我们定义了连接 MySQL 所需的变量,如服务器地址、用户名、密码和数据库名。

我们使用 mysql_init() 函数初始化连接对象,并使用 mysql_real_connect() 函数连接到 MySQL 服务器。

接下来,我们使用 mysql_query() 函数执行插入语句,并使用 mysql_error() 函数打印出错误信息(如果有)。

最后,我们使用 mysql_close() 函数关闭连接。

4. 编译和运行代码

使用以下命令编译代码:

gcc insert.c -o insert -lmysqlclient

运行代码:

./insert

如果一切正常,你将看到输出 Data inserted successfully!

5. 验证插入结果

我们可以登录到 MySQL 并执行以下查询验证插入结果:

mysql -u root -p
USE mydb;
SELECT * FROM users;

你将看到一个包含插入的数据的行。

总结

本文介绍了在 CentOS 系统中使用 C 语言连接 MySQL 并执行插入语句的步骤。首先安装 MySQL Connector/C,然后创建数据库和表。接着编写 C 代码,连接到 MySQL 并执行插入语句。最后,编译和运行代码,并验证插入结果。

希望本文能够帮助你在 CentOS 系统中使用 C 语言连接 MySQL 并执行插入语句。如有疑问,请留言。