在MySQL数据库中,通常我们不会直接用C语言执行SQL语句,因为C是一种过程式编程语言,而执行SQL语句更常见于使用数据库API或者ODBC(Open Database Connectivity)等中间件。但是,你可以通过MySQL提供的C API(也称为MySQL Connector/C)来在C程序中执行SQL语句。
下面是一个简单的例子,展示了如何在C程序中使用MySQL Connector/C来连接到MySQL数据库并执行一个SQL查询:
#include <mysql.h>
#include <stdio.h>
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "your_username";
char *password = "your_password";
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);
}
// 执行SQL查询
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;
}
**注意**:
1. 你需要安装MySQL Connector/C库,并在编译时链接它。这通常涉及到在编译命令中添加`-lmysqlclient`标志,并确保MySQL Connector/C的开发文件(头文件和库文件)在编译器的搜索路径中。
2. 替换`your_username`、`your_password`、`your_database`和`your_table`为你自己的数据库连接信息和表名。
3. 这个例子展示了如何执行一个查询并打印结果。你可以根据需要修改SQL语句来执行插入、更新或删除操作。
4. 始终注意检查API调用的返回值,以处理可能出现的错误。