Inserindo dados – MySQL – Linguagem C


Esse tutorial funciona em vários IDEs, mas só posso garantir total funcionalidade no CodeBlocks, pois é a continuação do tutorial que vimos anteriormente: Instalando a biblioteca MySQL no CodeBlocks.

Meu banco de dados tem uma tabela com o nome PESSOA e que essa tabela tem duas colunas nome e sexo. 

Para inserir os dados (nome e sexo) de uma pessoa usaremos a função mysql_query(&conexao, “insert into PESSOA(nome, sexo) values(‘inserir aqui o nome‘, ‘inserir aqui o sexo‘);
da Header mysql.h.
É bom que você tenha algum conhecimento sobre banco de dados, pois facilitará bastante.

Bom, vamos ao que interessa, minha tabela está criada (imagem abaixo).

Download Mysql P1

1º Passo: Abra o CodeBlocks e clique em File->New->Empty file, ou shift+alt+N.
– Salve o arquivo com a extensão .c (imagens abaixo).

Download Mysql P2
Download Mysql P32º Passo: Insira as bibliotecas:
– stdio.h
– windows.h
– mysql.h
– winsock2.h
-string.h

*Ficará assim:
#include <stdio.h>
#include<windows.h>
#include <mysql.h>
#include <winsock2.h>
#include<string.h>

– Agora, vamos usar #define para salvar as informações de acesso ao banco de dados.
#define servidor “Nome do seu servidor”
#define usuario “Usuário”
#define senha “Senha”
#define bd”Banco de dados”
OBS->NÃO PRECISA COPIAR, POIS O CÓDIGO INTEIRO ESTÁ DISPONÍVEL LOGO ABAIXO!

3º Passo:
 Abra o código abaixo e cole em seu CodeBlocks.
– Clique em + expand source

#include <stdio.h>
#include <mysql.h>
#include <winsock2.h>
#include<string.h>
#define servidor "Nome do seu servidor"
#define usuario "Usuário"
#define senha "Senha"
#define bd "Banco de dados"

main()
{
    MYSQL conexao;
    mysql_init(&conexao);
    if (mysql_real_connect(&conexao, servidor, usuario, senha, bd,0,NULL,0))
    {
        printf("Conectado com sucesso!n");
        mysql_query(&conexao,"INSERT INTO PESSOA(nome, sexo) values('Isaac Fernando', 'M');");
        mysql_close(&conexao);
    }
    else
    {
        printf("Falha de conexaon");
        printf("Erro %d : %sn", mysql_errno(&conexao), mysql_error(&conexao));
    }
}
 

 4º Passo: Preencha adequadamente com as informações do seu banco de dados e insira as informações.
– Veja que há ninguém cadastrado no meu banco de dados.
Download Mysql P4

– Agora, vou compilar esse código e inserir esses dados na minha tabela.
Download Mysql P5i

– Vamos olhar lá no meu banco se essas informações foram salvas corretamente.
Download Mysql P6– Para mostrar a funcionalidade do algoritmo vou escrever o nome do servidor erradamente só para  mostrar o erro(Deixei o nome do meu servidor como:” Nome do seu servidor”).
Download Mysql P7
Tudo que a gente fez até agora foi inserir os dados na tabela sem verificar se os mesmos foram inseridos corretamente ou não. Agora vamos ver como se verifica a inserção dos dados, só precisamos pegar o valor de retorno de uma  variável da função mysql_query e testar o seu valor, se o valor retornado for zero será porque os dados foram inseridos corretamente, mas se for diferente de zero é porque há erros na função mysql_query.
– O código abaixo
– Clique em + expand source

#include <stdio.h>
#include <mysql.h>
#include <winsock2.h>
#include<string.h>
#define servidor "Nome do seu servidor"
#define usuario "Usuário"
#define senha "Senha"
#define bd "Banco de dados"

main()
{
    MYSQL conexao;
    int res;
    mysql_init(&conexao);
    if(mysql_real_connect(&conexao, servidor, usuario, senha, bd,0,NULL,0))
    {
        printf("Conectado com sucesso!n");
        res = mysql_query(&conexao,"INSERT INTO PESSOA(nome, sexo) values('Isaac Fernando','M');");

        if (!res)
        {
            printf("Registros inseridos %dn", mysql_affected_rows(&conexao));
        }

        else
        {
            printf("Erro na insercao %d : %sn", mysql_errno(&conexao), mysql_error(&conexao));
            mysql_close(&conexao);
        }
    }
    else
    {
        printf("Falha de conexaon");
        printf("Erro %d : %sn", mysql_errno(&conexao), mysql_error(&conexao));
    }
}

Na próxima postagem veremos como consultar os elementos do seu BD MySQL usando C.

OBS-> Se forem copiar o tutorial para reprodução, por favor, incluam os créditos!