下面有一个用GCC编译的例子希望对你有所帮助.
#include<stdio.h>
#include<mysql.h>
int main()
{
    /*declare structures and variables */
   MYSQL mysql;
   MYSQL_RES *result;
   MYSQL_ROW row;
   //initialize MYSQL structure
  mysql_init(&mysql);
  //connect to database
  mysql_real_connect(&mysql,"localhost","john","doe","db1",0,null,0);  //execute query
   mysql_query(&mysql,"select title,author from books");   //get result set
   result=mysql_store_result(&mysql);  //process result set
   while((row=mysql_fetch_row(result))
{
   fprintf(stdout,"%s - %s\n",row[0],row[1]);
}   //clean up
   mysql_free_result(result);
   mysql_close(&mysql);
}
(假设mysql安装在/usr/local/mysql目录下)
完成之后,保存该文件(名为:sample.c),并且进行编译:
[user@host]$ /usr/bin/gcc sample.c -o sample.bin -I/usr/local/mysql/include -L/usr/local/mysql/lib  -lmysclient -lz
-lmysclient 选项告诉连接程序连接libmysqlclient库,而-I和-L选项告诉编译程序在什么位置分别查找MySQL头文件和库,-o选项告诉编译程序分配给最终可执行二进制文件的名称.如果没有使用这些变量,GCC则使用默认值a.out
说明:我不是用linux的,恰好我这里有这样的一个例子,所以拿出来希望对你有所帮助,更加详细到mysql的官方网站上去看吧.
http://dev.mysql.com/doc/refman/4.1/en/apis.html