C语言是一种通用的、面向过程的计算机编程语言,广泛应用于底层系统开发。MySQL则是一种关系型数据库管理系统(RDBMS),用于存储、管理和检索数据。
在C语言中查询和修改MySQL数据库记录,通常需要使用MySQL的C API。这个API提供了一系列函数,用于连接数据库、执行SQL语句和处理结果。
mysql_query()
函数执行SELECT语句,然后使用mysql_fetch_array()
等函数获取结果。mysql_query()
函数执行UPDATE、DELETE或INSERT语句来修改数据。以下是一个简单的C语言程序,演示如何连接到MySQL数据库并执行查询和修改操作:
#include <stdio.h>
#include <stdlib.h>
#include <mysql/mysql.h>
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
// 连接到数据库
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, "localhost", "user", "password", "database", 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
// 查询记录
if (mysql_query(conn, "SELECT * FROM table_name")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
while ((row = mysql_fetch_array(res)) != NULL) {
printf("%s\n", row[0]);
}
mysql_free_result(res);
// 修改记录
if (mysql_query(conn, "UPDATE table_name SET column_name = 'new_value' WHERE condition")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
// 关闭连接
mysql_close(conn);
return 0;
}
注意:在实际应用中,请确保替换示例代码中的数据库连接信息、表名、列名等为实际值,并处理可能出现的错误。
MYSQL_RES
和MYSQL_ROW
后,及时调用mysql_free_result()
释放内存。领取专属 10元无门槛券
手把手带您无忧上云