Как подключить базу данных MySQL к C

Чтобы подключить базу данных MySQL к языку C, вам потребуется использовать библиотеку MySQL Connector/C, которая предоставляет API для работы с базой данных MySQL.

Вот пример кода, который демонстрирует подключение к базе данных MySQL и выполнение простого запроса:


#include 

int main() {
    MYSQL *connection = mysql_init(NULL);
    
    if (connection == NULL) {
        printf("Ошибка инициализации подключения MySQL\n");
        return 1;
    }
    
    if (mysql_real_connect(connection, "localhost", "username", "password", "database", 0, NULL, 0) == NULL) {
        printf("Ошибка подключения к базе данных: %s\n", mysql_error(connection));
        return 1;
    }
    
    if (mysql_query(connection, "SELECT * FROM table")) {
        printf("Ошибка выполнения запроса: %s\n", mysql_error(connection));
        return 1;
    }
    
    MYSQL_RES *result = mysql_store_result(connection);
    
    if (result == NULL) {
        printf("Ошибка получения результата запроса: %s\n", mysql_error(connection));
        return 1;
    }
    
    // Обработка результата запроса
    
    mysql_free_result(result);
    mysql_close(connection);
    
    return 0;
}
    

Детальный ответ

Как подключить базу данных MySQL к C?

Подключение базы данных MySQL к C является важным шагом при разработке приложений, работающих с базами данных. В этой статье я покажу вам, как подключить базу данных MySQL к языку программирования C, чтобы вы могли использовать его для сохранения и извлечения данных из базы данных.

Шаг 1: Установка MySQL Connector/C

Первым шагом является установка MySQL Connector/C, который предоставляет набор функций для подключения и взаимодействия с базой данных MySQL. Вы можете загрузить MySQL Connector/C с официального сайта MySQL и следовать инструкциям по установке для вашей операционной системы.

Шаг 2: Включение заголовочного файла MySQL в программу C

Чтобы использовать функции MySQL Connector/C в программе C, вам необходимо включить соответствующий заголовочный файл. Добавьте следующую строку в начало вашей программы:

#include <mysql.h>

Шаг 3: Создание соединения с базой данных MySQL

Для подключения к базе данных MySQL вам необходимо создать соединение с помощью функции mysql_init(). Пример кода:

MYSQL *conn;
conn = mysql_init(NULL);

Шаг 4: Определение параметров подключения

Перед установлением соединения с базой данных, вам необходимо определить параметры подключения. Эти параметры включают имя пользователя базы данных, пароль, адрес сервера базы данных и имя базы данных, к которой вы хотите подключиться. Пример кода:

const char *server = "localhost";
const char *user = "username";
const char *password = "password";
const char *database = "database_name";

Шаг 5: Установление соединения с базой данных

После определения параметров подключения вы можете установить соединение с базой данных с помощью функции mysql_real_connect(). Пример кода:

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

Если соединение успешно установлено, вы можете продолжить работу с базой данных.

Шаг 6: Выполнение запросов к базе данных

Теперь, когда у вас есть соединение с базой данных, вы можете выполнять запросы и взаимодействовать с данными. Ниже приведен пример кода для выполнения простого SQL-запроса SELECT:

// Отправка запроса
if (mysql_query(conn, "SELECT * FROM table")) {
    fprintf(stderr, "%s\n", mysql_error(conn));
    exit(1);
}

// Получение результата запроса
MYSQL_RES *result = mysql_store_result(conn);
if (result == NULL) {
    fprintf(stderr, "%s\n", mysql_error(conn));
    exit(1);
}

// Обработка результата
int num_fields = mysql_num_fields(result);
MYSQL_ROW row;
while ((row = mysql_fetch_row(result))) {
    for(int i = 0; i < num_fields; i++) {
        printf("%s ", row[i]);
    }
    printf("\n");
}

// Освобождение результата
mysql_free_result(result);

Шаг 7: Закрытие соединения с базой данных

После завершения работы с базой данных, вы должны закрыть соединение с помощью функции mysql_close(). Пример кода:

mysql_close(conn);

Общий пример полного кода:

#include <mysql.h>

int main() {
    MYSQL *conn;
    const char *server = "localhost";
    const char *user = "username";
    const char *password = "password";
    const char *database = "database_name";

    conn = mysql_init(NULL);

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

    if (mysql_query(conn, "SELECT * FROM table")) {
        fprintf(stderr, "%s\n", mysql_error(conn));
        exit(1);
    }

    MYSQL_RES *result = mysql_store_result(conn);
    if (result == NULL) {
        fprintf(stderr, "%s\n", mysql_error(conn));
        exit(1);
    }

    int num_fields = mysql_num_fields(result);
    MYSQL_ROW row;
    while ((row = mysql_fetch_row(result))) {
        for(int i = 0; i < num_fields; i++) {
            printf("%s ", row[i]);
        }
        printf("\n");
    }

    mysql_free_result(result);
    mysql_close(conn);

    return 0;
}

Видео по теме

Уроки C# .NET Windows Forms / #3 - Подключение MySQL и создание базы данных

КАК ПОДКЛЮЧИТЬ БАЗУ ДАННЫХ К VISUAL STUDIO?

Как создать базу данных MSSQL Server [Базы данных для C# программиста] #1

Похожие статьи:

Constraint MySQL: что это такое и почему оно важно для баз данных и разработки веб-приложений?

Как подключить базу данных MySQL к C