下面是C语言批量导入MySQL数据库的代码示例。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <mysql.h> int main(int argc, char **argv) { MYSQL *mysql = mysql_init(NULL); // 初始化MySQL连接 if (!mysql_real_connect(mysql, "localhost", "root", "password", "database", 0, NULL, 0)) { // 连接数据库 fprintf(stderr, "Failed to connect to database: Error: %s\n", mysql_error(mysql)); exit(1); } FILE *fp = fopen("data.txt", "r"); // 打开数据文件 if (!fp) { fprintf(stderr, "Failed to open file: data.txt\n"); exit(1); } char buffer[1024]; while (fgets(buffer, sizeof(buffer), fp)) { // 读取每一条数据 buffer[strlen(buffer) - 1] = '\0'; // 去掉换行符 char name[128], age[16], gender[8]; if (sscanf(buffer, "%s %s %s", name, age, gender) != 3) { fprintf(stderr, "Failed to parse data: %s\n", buffer); continue; } char sql_query[1024]; snprintf(sql_query, sizeof(sql_query), "INSERT INTO students (name, age, gender) VALUES('%s', %s, '%s')", name, age, gender); // 拼接SQL语句 if (mysql_real_query(mysql, sql_query, strlen(sql_query))) { // 执行SQL语句 fprintf(stderr, "Failed to execute SQL: %s\n", mysql_error(mysql)); exit(1); } } mysql_close(mysql); // 关闭MySQL连接 fclose(fp); // 关闭文件 return 0; }
以上代码能够读取指定数据文件中的数据,并批量插入到MySQL数据库中。大家可以根据需要修改代码中的数据库连接信息、数据文件路径和数据表结构等参数,以满足不同的需求。