不像oracle, MYSQL数据库并不支持嵌入式SQL语言。
但是提供了功能强大的C,C++支持API,其中c语言的API在参考手册的第25部分,独立于这个3000多页的参考手册之外的另外部分的
MySQL++是用于C++的MySQL API。Warren Young负责该项目。要想了解更多信息,请访问http://www.mysql.com/products/mysql++/。
当然mysql似乎最为广泛的应用是个php脚本语言一起,apache,一起用做网站的后台数据库服务程序,这个做过好多。
同时我是一个C程序员,碰到什么总是想用c试试,这几天忙着准备军转考试,
刚好有点闲暇时间,顺便把c和mysql数据库的访问再复习一遍。
运行环境是SunOS x4100 5.10 Generic_118855-33 i86pc i386 i86pc;编译器是gcc,外加Llibmysqlclient库。
#include <stdio.h> #include <string.h> #include <mysql.h> #include <stdlib.h> main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "mysql"; char *user = "huzia"; char *password = "cjrIwo"; /* */ char *database = "huzia"; conn = mysql_init(NULL); /* Connect to database */ if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } /* send SQL query */ if (mysql_query(conn, "show tables")) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } res = mysql_use_result(conn); /* output table name */ printf("MySQL Tables in mysql database:\n"); while ((row = mysql_fetch_row(res)) != NULL) printf("%s \n", row[0]); /* close connection */ mysql_free_result(res); mysql_close(conn); }
运行成功。