mysql_query是C語(yǔ)言中用于執(zhí)行MySQL查詢的函數(shù),下面是mysql_query函數(shù)的基本用法:
#include <mysql.h> int mysql_query(MYSQL *conn, const char *query);
其中,MYSQL *conn是一個(gè)指向MYSQL對(duì)象的指針,用于保存與MySQL服務(wù)器的連接信息;const char *query是要執(zhí)行的MySQL語(yǔ)句,可以是任何有效的MySQL語(yǔ)句,包括查詢、插入、更新、刪除等。
mysql_query函數(shù)成功執(zhí)行返回0,否則返回非0值。執(zhí)行成功并不代表查詢結(jié)果一定非空,因此在執(zhí)行mysql_query函數(shù)后應(yīng)該檢查返回值并適時(shí)處理查詢結(jié)果。
下面是一個(gè)簡(jiǎn)單的查詢示例:
MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; conn = mysql_init(NULL); mysql_real_connect(conn, "localhost", "user", "password", "database", 3306, NULL, 0); mysql_query(conn, "SELECT * FROM table1"); res = mysql_store_result(conn); while ((row = mysql_fetch_row(res)) != NULL) { printf("%s %s %s\n", row[0], row[1], row[2]); } mysql_free_result(res); mysql_close(conn);
上面的示例中,首先調(diào)用mysql_init函數(shù)創(chuàng)建一個(gè)MYSQL對(duì)象并初始化;然后調(diào)用mysql_real_connect函數(shù)連接MySQL服務(wù)器;接著調(diào)用mysql_query函數(shù)執(zhí)行查詢語(yǔ)句;再用mysql_store_result函數(shù)獲取查詢結(jié)果;最后使用mysql_fetch_row函數(shù)循環(huán)遍歷結(jié)果集中的每一行并輸出數(shù)據(jù)內(nèi)容。最后別忘了釋放結(jié)果集和關(guān)閉MySQL連接。
總的來(lái)說(shuō),mysql_query函數(shù)在C語(yǔ)言中是一個(gè)十分重要和基礎(chǔ)的函數(shù),適當(dāng)運(yùn)用mysql_query函數(shù)可以方便快捷地操作MySQL數(shù)據(jù)庫(kù)完成各種查詢和修改操作。