文章摘要: 本文描述了基于C语言的Mysql数据库操作例程。
测试平台: Debian 8

#include <stdlib.h>
#include <stdio.h>
#include <mysql/mysql.h>
#include <syslog.h>
  
MYSQL mysql;
    
/* 查询操作 */
void do_query()
{
   MYSQL_ROW  m_row;
   MYSQL_RES* m_res;
   char sql[1024];
    
   sprintf(sql,"select * from caton_name_list;");
   if(mysql_query(&mysql,sql) != 0)
   {
      fprintf(stderr, "mysql_query err: %s",mysql_error(&mysql));
   }
   m_res = mysql_store_result(&mysql);
   if(m_res==NULL)
   {
      fprintf(stderr, "get result err: %s",mysql_error(&mysql));
   }
        
   while(m_row = mysql_fetch_row(m_res))
   {
      printf("%s\t %s\t %s\r\n",m_row[0],m_row[1],m_row[2]);
   }
     
   mysql_free_result(m_res);
}
  
/* 主程序 */
int main(int argc, char* argv[])
{
   char host[32]   = "localhost";
   char user[32]   = "username";
   char passwd[32] = "password";
   char dbname[32] = "dbname";
   
   if( mysql_init(&mysql) == NULL )
   {
      fprintf(stderr,"Init mysql err!");
      return -1;
   }
   
   // 连接数据库
   if(mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0)==NULL)
   {
      fprintf(stderr,"Connect to mysql Error:%s!",mysql_error(&mysql));
      return -1;
   }
   else
   {
      puts("Connect to mysql success!");
   }
      
   do_query();
   
   mysql_close(&mysql); // 关闭连接
   
   return 0;
}

编译:

#gcc -o mysql msyql.c -lmysqlclient

注意事项:
1.需要静态库libmysqlclient.a支持;