C语言MySQL查询表内特定内容并返回查询结果
时间: 2024-12-16 08:27:32 浏览: 5
在C语言中直接操作MySQL数据库通常需要使用外部库,如mysqlclient或libmysqlclient,这允许你在C程序中执行SQL查询。以下是一个简单的示例,展示如何连接到MySQL服务器,查询表中的内容,并获取结果:
```c
#include <stdio.h>
#include <mysql.h>
void connect_mysql(const char *host, const char *user, const char *password, const char *db) {
MYSQL *conn;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, host, user, password, db, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
printf("Connected to MySQL server.\n");
}
void query_table(MYSQL *conn, const char *table_name, const char *query) {
int affected_rows;
MYSQL_RES *res;
MYSQL_ROW row;
if (mysql_query(conn, query)) {
fprintf(stderr, "Error executing query: %s\n", mysql_error(conn));
return;
}
res = mysql_use_result(conn);
while ((row = mysql_fetch_row(res))) {
printf("%s\n", row[0]); // 假设查询结果的第一列是你想要显示的内容
}
affected_rows = mysql_affected_rows(conn);
printf("Affected rows: %d\n", affected_rows);
mysql_free_result(res);
mysql_close(conn);
}
int main() {
const char *host = "localhost";
const char *user = "username";
const char *password = "password";
const char *db = "database_name";
const char *table_name = "your_table";
const char *query = "SELECT column_name FROM your_table WHERE condition";
connect_mysql(host, user, password, db);
query_table(mysql_get_host_info(mysql_server), table_name, query);
return 0;
}
```
这个例子假设你知道你想查询的表名、查询条件以及你感兴趣的具体列名。你需要替换上述代码中的`username`, `password`, `database_name`, `table_name`和`query`变量。
阅读全文