Acesse o MySQL usando C

Com este tutorial apresento para a comunidade como acessar um banco de dados MySQL a partir da linguagem de programação C e sem usar muitas dependências, apenas

libmysqlclient

Espero que seja útil a quem precisa deste tipo de documentação e assim continue contribuindo com a comunidade SL e ajudando quem não tem INTERNET.

configuração

Primeiro, devemos verificar se temos as bibliotecas de design instaladas *-dev para ser capaz de acessar de C / C ++ para MySQL.

mysql_config --libs

Deve ser algo assim:

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

Caso você verifique que a biblioteca não está instalada, nós a instalamos com o seguinte comando:

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

Uma vez que verificamos e instalamos o que precisamos para o link entre MySQL e C, procedemos à criação do banco de dados:

Teste CREATE DATABASE; Teste de USE; CREATE TABLE data (id int AUTO_INCREMENT NOT NULL PRIMARY KEY, nome varchar (40), idade int); INSERT INTO data VALUES (NULL, 'Alma Hernandez', 28), (NULL, 'Jose Sanchez', 39), (NULL, 'Martin loera', 25), (NULL, 'Leonardo Cortez', 26), (NULL , 'Gustavo Romero', 25);

Programação e compilação

Continuamos criando o código:

Query.c

/ * bibliotecas para usar * / #include / * biblioteca que nos permite fazer uso de conexões e consultas com MySQL * / #include / * Para usar printf, etc. * / int main () {MYSQL * conn; / * variável de conexão para MySQL * / MYSQL_RES * res; / * variável que conterá o resultado da consulta * / MYSQL_ROW row; / * variável que conterá os campos de cada registro consultado * / char * server = "localhost"; / * endereço do servidor 127.0.0.1, localhost ou endereço ip * / char * user = "root"; / * usuário para consultar o banco de dados * / char * senha = "root"; / * senha para o usuário em questão * / char * database = "test"; / * nome do banco de dados a ser consultado * / conn = mysql_init (NULL); / * inicialização para anular a conexão * / / * conectar ao banco de dados * / if (! mysql_real_connect (conexão, servidor, usuário, senha, banco de dados, 0, NULL, 0)) {/ * definir os parâmetros de conexão previamente definidos * / fprintf (stderr, "% s \ n", mysql_error (conn)); / * se houver um erro, defina qual foi o erro * / exit (1); } / * enviar consulta SQL * / if (mysql_query (conn, "selecionar * dos dados")) {/ * definição da consulta e a origem da conexão * / fprintf (stderr, "% s \ n", mysql_error ( conn)); saída (1); } res = mysql_use_result (conexão);
	printf("ID \ tNome \ t \ idade \ n"); while ((row = mysql_fetch_row (res))! = NULL) / * loop através da variável res com todos os registros obtidos para uso * /
		printf("% s \ t% s \ t% s \ n", linha [0], linha [1], linha [2]); / * a variável de linha se torna um array para o número de campos na tabela * / / * a variável res é liberada e a conexão é fechada * / mysql_free_result (res); mysql_close (conexão); }

Nós compilamos com:

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

Verificação

Nós executamos:

./Inquerir

fonte: blog de Hugo4295


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   koratsuki dito

    Que bom, salvo no meu arsenal de scripts e tutoriais no console! +1 para seu parceiro ...

  2.   rodrigo dito

    Olá, muitos parabéns por tudo que está na web a respeito desse assunto, o seu foi o mais próximo da solução. Só uma dúvida, por que não pego o executável ??

    na hora de comílar não marca nenhum erro mas não gera o ./ser4

  3.   Andrélo dito

    Alguma ideia de como fazer isso no Fedora?

  4.   vencedor do o dito

    Não discordo em compartilhar a informação mas se o copyright não estiver colocado visto que este exemplo foi feito por mim desde 2011 e aqui está o endereço da fonte original

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

    1.    elav. dito

      Não tem problema Victor, mas se você perceber que não tirei o artigo do seu site, mas de outro onde infelizmente não colocaram a fonte. No entanto, agora eu edito o artigo .. 😉

  5.   Alfonso Ovidio López Morales dito

    excelente compartilhamento de conhecimento grande liberdade

  6.   DANIELA FERNANDEZ dito

    E como podem ser feitas inserções ???