MySQL是开源的关系型数据库管理系统,C是一种程序设计语言,两者结合起来,可以使用C语言连接MySQL数据库实例。
在使用C连接MySQL数据库之前,需要先安装MySQL C API,一般会集成在MySQL数据库的安装包中。
#include//包含mysql头文件int main(int argc, char **argv){MYSQL *conn; //定义MYSQL结构体指针MYSQL_RES *result; //定义MYSQL_RES结构体指针,用来保存查询结果集MYSQL_ROW row; //定义MYSQL_ROW结构体指针,用来保存结果集中的一行数据int res; //定义一个表示执行结果是否成功的变量conn = mysql_init(NULL); //初始化MYSQL结构体if (conn == NULL){printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));exit(1); //如果初始化失败,退出程序}if (mysql_real_connect(conn, "localhost", "root", "password", NULL, 0, NULL, 0) == NULL){printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));exit(1); //如果连接失败,退出程序}res = mysql_query(conn, "show databases");if (res != 0){printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));exit(1); //如果查询失败,退出程序}result = mysql_store_result(conn);if (result == NULL){printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));exit(1); //如果保存结果集失败,退出程序}while ((row = mysql_fetch_row(result)) != NULL){printf("%s\n", row[0]); //逐行输出查询结果}mysql_free_result(result); //释放资源mysql_close(conn); //关闭连接return 0;}上面的代码演示了如何使用C语言连接MySQL数据库,并查询所有数据库的名称。
首先使用mysql_init函数初始化一个MYSQL结构体,接着使用mysql_real_connect函数连接数据库,该函数的参数依次是MYSQL结构体指针、主机名、用户名、密码、数据库名、端口号和套接字类型。
如果连接成功,接着通过mysql_query函数执行SQL语句,并使用mysql_store_result函数保存查询结果集。
最后使用mysql_fetch_row函数逐行输出查询结果,使用mysql_free_result函数释放结果集,使用mysql_close函数关闭连接。