在進行C語言開發時,有時我們需要將大量數據從文件導入到MySQL數據庫中,這時候我們可以使用C語言來實現批量導入。
首先,我們需要在C語言中使用MySQL API,連接到數據庫。我們可以使用mysql_init() 初始化一個MySQL對象,mysql_real_connect() 連接到數據庫,mysql_query() 執行SQL語句。
#includeint main() { MYSQL conn; mysql_init(&conn); if(!mysql_real_connect(&conn, "localhost", "username", "password", "database", 0, NULL, 0)) { printf("Connection failed\n"); return -1; } mysql_query(&conn, "SET NAMES utf8"); // Import data from file to database mysql_close(&conn); return 0; }
在將數據導入到MySQL數據庫之前,我們需要將數據從文件中讀取到內存中,可以使用fopen() 打開文件,fgets() 逐行讀取,strcpy() 復制字符串。
#define MAX_LINE_LENGTH 1024 FILE* fp; char line[MAX_LINE_LENGTH]; if((fp = fopen("data.txt", "r")) == NULL) { printf("Open file failed\n"); return -1; } while(fgets(line, MAX_LINE_LENGTH, fp) != NULL) { // Process data and insert into database } fclose(fp);
最后,我們需要將數據插入到數據庫中,可以使用sprintf() 構造SQL語句,然后使用mysql_query() 執行。
while(fgets(line, MAX_LINE_LENGTH, fp) != NULL) { int id; char name[100]; int age; int sex; // Process data ... // Insert into database char sql[200]; sprintf(sql, "INSERT INTO Persons (ID, Name, Age, Sex) VALUES (%d, '%s', %d, %d)", id, name, age, sex); mysql_query(&conn, sql); }
以上是C語言批量導入MySQL數據庫的基本過程,可以根據實際需求進行修改。