当我们需要在C程序中使用MySQL数据库时,我们需要连接MySQL数据库。下面是将C程序连接MySQL数据库的完整攻略。
步骤1:安装MySQL C API
在C程序中使用MySQL数据库,我们需要安装MySQL C API。MySQL提供了C API开发包,我们可以到MySQL官方网站上下载。
步骤2:连接MySQL数据库
连接MySQL数据库前,需要先初始化mysql连接句柄,然后调用mysql_real_connect函数来连接mysql数据库。下面是一个示例代码,连接一个本地的MySQL服务器:
#include <mysql/mysql.h>
int main(int argc, char *argv[]) {
MYSQL *conn_ptr;
conn_ptr = mysql_init(NULL);
if (conn_ptr == NULL) {
printf("mysql init failed: %s\n", mysql_error(conn_ptr));
exit(1);
}
conn_ptr = mysql_real_connect(conn_ptr, "localhost", "root", "password", "database", 0, NULL, 0);
if (conn_ptr == NULL) {
printf("mysql connect failed: %s\n", mysql_error(conn_ptr));
exit(1);
} else {
printf("mysql connect success\n");
}
mysql_close(conn_ptr);
return 0;
}
上述代码会连接一个名为database的数据库,用户名为root,密码为password,并且连接到本地的MySQL服务器。如果连接成功,将会输出"mysql connect success"。
步骤3:执行MySQL查询
连接成功后,我们可以通过mysql_query函数来执行MySQL查询。下面是一个示例代码,执行一条SELECT语句:
#include <mysql/mysql.h>
int main(int argc, char *argv[]) {
MYSQL *conn_ptr;
MYSQL_RES *res_ptr;
MYSQL_ROW sqlrow;
int res_count, row_count, column_count;
int i, j;
conn_ptr = mysql_init(NULL);
if (conn_ptr == NULL) {
printf("mysql init failed: %s\n", mysql_error(conn_ptr));
exit(1);
}
conn_ptr = mysql_real_connect(conn_ptr, "localhost", "root", "password", "database", 0, NULL, 0);
if (conn_ptr == NULL) {
printf("mysql connect failed: %s\n", mysql_error(conn_ptr));
exit(1);
} else {
printf("mysql connect success\n");
}
if (mysql_query(conn_ptr, "SELECT * FROM users")) {
printf("mysql query failed: %s\n", mysql_error(conn_ptr));
exit(1);
}
res_ptr = mysql_use_result(conn_ptr);
res_count = mysql_field_count(conn_ptr);
row_count = mysql_num_rows(res_ptr);
column_count = mysql_num_fields(res_ptr);
while (sqlrow = mysql_fetch_row(res_ptr)) {
for (i = 0; i < column_count; i++) {
printf("%s\t", sqlrow[i]);
}
printf("\n");
}
mysql_free_result(res_ptr);
mysql_close(conn_ptr);
return 0;
}
上述代码会查询一个名为users的表,并输出查询结果。如果查询成功,会输出所有行和列的数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C连接Mysql数据库代码 - Python技术站