Доступ к MySQL с помощью C

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

libmysqlclient

Я надеюсь, что он будет полезен тем, кто нуждался в документации такого типа и, таким образом, продолжит вносить свой вклад в сообщество SL и помогать тем, у кого нет ИНТЕРНЕТА.

конфигурация

Сначала мы должны убедиться, что у нас установлены библиотеки дизайна. *-dev чтобы иметь возможность доступа с C / C ++ к MySQL.

mysql_config --libs

Должно появиться что-то вроде этого:

-Wl, -Bsymbolic-functions –L / usr / lib / mysql -lmysqlclient rdynamic

Если вы убедитесь, что библиотека не установлена, мы устанавливаем ее с помощью следующей команды:

sudo apt-get install libmysqlclient-dev mysql_config --cflags -I / usr / include / mysql -DBIG_JOINS = 1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX

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

CREATE DATABASE test; ЕГЭ тест; СОЗДАТЬ ТАБЛИЧНЫЕ данные (id int AUTO_INCREMENT NOT NULL PRIMARY KEY, имя varchar (40), age int); INSERT INTO data VALUES (NULL, 'Alma Hernandez', 28), (NULL, 'Jose Sanchez', 39), (NULL, 'Martin loera', 25), (NULL, 'Leonardo Cortez', 26), (NULL , 'Густаво Ромеро', 25);

Программирование и компиляция

Продолжаем создавать код:

Query.c

/ * библиотеки для использования * / #include / * библиотека, которая позволяет нам использовать соединения и запросы с MySQL * / #include / * Чтобы использовать printf и т. Д. * / int main () {MYSQL * conn; / * переменная подключения для MySQL * / MYSQL_RES * res; / * переменная, которая будет содержать результат запроса * / MYSQL_ROW row; / * переменная, которая будет содержать поля для каждой запрашиваемой записи * / char * server = "localhost"; / * адрес сервера 127.0.0.1, localhost или IP-адрес * / char * user = "root"; / * пользователь, запрашивающий базу данных * / char * password = "root"; / * пароль для рассматриваемого пользователя * / char * database = "test"; / * имя базы данных для запроса * / conn = mysql_init (NULL); / * инициализация для обнуления соединения * / / * подключение к базе данных * / if (! mysql_real_connect (conn, server, user, password, database, 0, NULL, 0)) {/ * определение ранее установленных параметров подключения * / fprintf (stderr, "% s \ n", mysql_error (conn)); / * если есть ошибка, определить, какая ошибка была * / exit (1); } / * отправляем SQL-запрос * / if (mysql_query (conn, "select * from data")) {/ * определение запроса и источник соединения * / fprintf (stderr, "% s \ n", mysql_error ( conn)); выход (1); } res = mysql_use_result (conn);
	Printf("ID \ tName \ t \ age \ n"); while ((row = mysql_fetch_row (res))! = NULL) / * цикл по переменной res со всеми записями, полученными для использования * /
		Printf("% s \ t% s \ t% s \ n", строка [0], строка [1], строка [2]); / * переменная-строка становится массивом для количества полей в таблице * / / * переменная res освобождается и соединение закрывается * / mysql_free_result (res); mysql_close (соединение); }

Мы компилируем с помощью:

gcc -o Query $ (mysql_config --cflags) Query.c $ (mysql_config -–libs)

Проверка

Выполняем:

./Query

источник: Блог пользователя Hugo4295


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Корацуки сказал

    Хорошо, что сохранились в моем арсенале скрипты и обучающие программы на консоли! +1 для вашего партнера ...

  2.   Rodrigo сказал

    Привет, поздравляю со всем, что есть в сети по поводу этой проблемы, ваше решение было наиболее близким к решению. немного сомневаюсь, почему я не получаю исполняемый файл ??

    во время comílar он не отмечает никаких ошибок, но не генерирует ./ser4

  3.   Андреело сказал

    Есть идеи, как это сделать в Fedora?

  4.   Виктор де ла о сказал

    Я не возражаю поделиться информацией, но если авторские права не размещены, так как этот пример был сделан мной с 2011 года, и вот адрес первоисточника

    http://hugo4295.blogspot.mx/search?q=MYSQL

    1.    Elav сказал

      Нет проблем, Виктор, но если вы заметили, я взял статью не с вашего сайта, а с другого, где, к сожалению, не поместили источник. Однако прямо сейчас редактирую статью .. 😉

  5.   Альфонсо Овидио Лопес Моралес сказал

    отличный обмен знаниями большая свобода

  6.   ДАНИЭЛА ФЕРНАНДЕС сказал

    А как можно прошивки сделать ???