C语言是一种通用的、过程式的计算机程序设计语言,广泛应用于底层系统开发。MySQL则是一种关系型数据库管理系统(RDBMS),它使用结构化查询语言(SQL)进行数据管理。C语言可以通过特定的API与MySQL数据库进行交互,执行数据的增删改查等操作。
以下是一个简单的C语言程序,演示了如何使用MySQL C API连接到数据库并执行查询:
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
const char server[] = "localhost";
const char user[] = "root";
const char password[] = "your_password"; /* 正确的密码 */
const char database[] = "your_database"; /* 正确的数据库 */
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
if (mysql_query(conn, "SELECT * FROM your_table")) { /* 正确的表名 */
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);
mysql_free_result(res);
mysql_close(conn);
return 0;
}
mysql_error()
函数获取详细的错误信息。MYSQL_RES
和MYSQL_ROW
结构后,务必调用mysql_free_result()
释放相关资源,以避免内存泄漏。请注意,在实际应用中,应使用更安全的方法来存储和处理数据库凭据,如使用环境变量或加密存储。此外,对于生产环境,建议使用连接池和预处理语句来提高性能和安全性。
领取专属 10元无门槛券
手把手带您无忧上云