在C语言中,查询数据库内容通常需要使用数据库连接库,如MySQL Connector/C,以下是查询数据库内容的步骤:
(图片来源网络,侵删)1、安装MySQL Connector/C库
首先需要在计算机上安装MySQL Connector/C库,以便在C程序中使用它,可以从MySQL官方网站下载并安装。
2、包含头文件
在C程序中,需要包含MySQL Connector/C库的头文件,如下所示:
```c
#include <mysql.h>
```
3、初始化数据库连接
使用mysql_init()
函数初始化数据库连接,如下所示:
```c
MYSQL *conn = mysql_init(NULL);
```
4、连接到数据库
使用mysql_real_connect()
函数连接到数据库,需要提供数据库服务器地址、用户名、密码和数据库名称,如下所示:
```c
conn = mysql_real_connect(conn, "localhost", "username", "password", "database_name", 0, NULL, 0);
```
5、执行查询
使用mysql_query()
函数执行SQL查询语句,如下所示:
```c
int result = mysql_query(conn, "SELECT * FROM table_name");
```
6、处理查询结果
使用mysql_store_result()
函数将查询结果存储在结果集中,然后使用mysql_fetch_row()
函数逐行读取结果集,如下所示:
```c
MYSQL_RES *resultset;
MYSQL_ROW row;
resultset = mysql_store_result(conn);
while ((row = mysql_fetch_row(resultset)) != NULL) {
printf("%s\t%s\t%s
", row[0], row[1], row[2]);
}
```
7、释放资源
在完成查询后,需要释放分配的资源,如下所示:
```c
mysql_free_result(resultset);
mysql_close(conn);
```
以下是一个完整的示例代码:
#include <stdio.h> #include <mysql.h> int main() { MYSQL *conn; MYSQL_RES *resultset; MYSQL_ROW row; conn = mysql_init(NULL); conn = mysql_real_connect(conn, "localhost", "username", "password", "database_name", 0, NULL, 0); if (conn == NULL) { fprintf(stderr, "%s ", mysql_error(conn)); return 1; } int result = mysql_query(conn, "SELECT * FROM table_name"); if (result != 0) { fprintf(stderr, "%s ", mysql_error(conn)); return 1; } resultset = mysql_store_result(conn); while ((row = mysql_fetch_row(resultset)) != NULL) { printf("%s\t%s\t%s ", row[0], row[1], row[2]); } mysql_free_result(resultset); mysql_close(conn); return 0; }