C语言操作MySQL数据库的连接与使用(c 中mysql连接)

C语言操作MySQL数据库的连接与使用

MySQL是一种常用的关系型数据库,C语言可以通过连接MySQL数据库来进行数据的读写操作。本文将介绍如何使用C语言连接MySQL数据库,并通过样例代码展示基本的读写操作。

连接MySQL数据库

连接MySQL数据库需要使用MySQL提供的API,这些API包含在mysqlclient库中。在使用这些API时,需要先安装mysqlclient库,并在编译时链接mysqlclient库。

以下是连接MySQL数据库的简单代码:

“`c

#include

int mn()

{

MYSQL mysql;

mysql_init(&mysql);

mysql_real_connect(&mysql, “localhost”, “root”, “password”, “database”, 0, NULL, 0);

// do something

mysql_close(&mysql);

return 0;

}


上述代码首先初始化了一个MYSQL对象mysql,然后使用mysql_real_connect函数连接数据库。mysql_real_connect函数的第一个参数是MYSQL对象指针,第二个参数是数据库所在的主机名,第三个参数是连接数据库的用户名,第四个参数是连接数据库的密码,第五个参数是连接使用的数据库名,第六个参数是连接超时时间(0表示永不超时),第七个参数是其他连接选项。连接MySQL数据库成功后,可以进行数据的读写操作。

读取数据

读取MySQL数据库中的数据需要使用mysql_real_query函数执行SQL语句,并使用mysql_store_result函数获取查询结果。以下是读取MySQL数据库数据的简单代码:

```c
#include
#include
int mn()
{
MYSQL mysql;
mysql_init(&mysql);
mysql_real_connect(&mysql, "localhost", "root", "password", "database", 0, NULL, 0);

const char *sql = "SELECT * FROM table";
mysql_real_query(&mysql, sql, strlen(sql));
MYSQL_RES *result = mysql_store_result(&mysql);
MYSQL_ROW row;
while ((row = mysql_fetch_row(result))) {
printf("id: %s, name: %s, age: %s\n", row[0], row[1], row[2]);
}

mysql_free_result(result);
mysql_close(&mysql);
return 0;
}

上述代码执行了一个SELECT语句,将查询结果存储在MYSQL_RES对象result中,并通过mysql_fetch_row函数获取每一行的数据。使用mysql_free_result函数释放result对象,最后关闭MySQL数据库连接。

写入数据

写入MySQL数据库数据需要使用mysql_real_query函数执行SQL语句,并通过mysql_affected_rows函数获取受影响的行数。以下是写入MySQL数据库数据的简单代码:

“`c

#include

#include

int mn()

{

MYSQL mysql;

mysql_init(&mysql);

mysql_real_connect(&mysql, “localhost”, “root”, “password”, “database”, 0, NULL, 0);

const char *sql = “INSERT INTO table (name, age) VALUES (‘Tom’, 18)”;

mysql_real_query(&mysql, sql, strlen(sql));

printf(“affected row: %ld\n”, mysql_affected_rows(&mysql));

mysql_close(&mysql);

return 0;

}


上述代码执行了一个INSERT语句,将数据插入到MySQL数据库中,并使用mysql_affected_rows函数获取受影响的行数。最后关闭MySQL数据库连接。

总结

C语言可以通过连接MySQL数据库来进行数据的读写操作。连接MySQL数据库需要使用MySQL提供的API,包含在mysqlclient库中。读取MySQL数据库数据需要使用mysql_real_query函数执行SQL语句,并使用mysql_store_result函数获取查询结果;写入MySQL数据库数据需要使用mysql_real_query函数执行SQL语句,并通过mysql_affected_rows函数获取受影响的行数。

数据运维技术 » C语言操作MySQL数据库的连接与使用(c 中mysql连接)