在C語言中,我們可以使用MySQL C API來進行與MySQL數據庫的交互操作。而對于一些特殊的數據類型,如二進制數據,也可以通過該API來實現讀寫。下面我們來介紹一下在C語言中如何實現從MySQL讀寫二進制數據。
// 連接MySQL數據庫 MYSQL *conn; conn = mysql_init(NULL); if(!mysql_real_connect(conn,host,user,pass,database,port,NULL,0)) { printf("連接失敗:%s",mysql_error(conn)); mysql_close(conn); return; } // 查詢二進制數據 char *sql = "SELECT content FROM user WHERE id=1"; if(mysql_query(conn,sql)) { printf("查詢失敗:%s",mysql_error(conn)); mysql_close(conn); return; } MYSQL_RES *res; res = mysql_store_result(conn); MYSQL_ROW row; row = mysql_fetch_row(res); if(row) { unsigned long *lengths; lengths = mysql_fetch_lengths(res); char *content = row[0]; int len = lengths[0]; // 獲取二進制數據 printf("Content: "); for(int i=0;i在以上示例中,我們通過mysql_fetch_lengths()函數來獲取查詢結果中二進制數據的長度,然后通過遍歷數據的方式將其輸出。而在執行插入操作時,可以將二進制數據直接以字符串的形式插入到MySQL中進行存儲。
通過以上示例,我們可以看到,在C語言中,通過MySQL C API讀寫二進制數據是非常簡單的,只需要注意數據長度和類型的處理即可。