批量导入数据库(.sql)

int m_export()
{
		FILE *fp;	
		fp=fopen("Export.sql","w+");
		char buf[100],buf2[5];
		int len;

		struct dirent *entry;		//获取文件间目录内容
		printf("请输入需要导入的数据库目录(绝对路径):\n");
		scanf("%s",buf);getchar();
		DIR *dirptr=NULL;
		dirptr=opendir(buf);                  //打开文件夹,失败返回null
		if(dirptr==NULL)
		{
				printf("name error!!\n");
				return -1;
		}
		else
		{
				while(entry=readdir(dirptr))
				{	
						memset(buf2,0,5);
						len=strlen(entry->d_name);
						memcpy(buf2,entry->d_name+len-4,4);
						if(strcmp(buf2,".sql")==0)
						{
								fprintf(fp,"source %s/%s\n",buf,entry->d_name);
						}
				}
		}
		fclose(fp);
		printf("请输入密码:\n");
		system("mysql -u root -p database_name < Export.sql");
		return 0;

}

原理:

先从文件夹中读取到所有需要导入的.sql文件名,然后创建新的文件夹存Export.sql放这些文件名,格式:source  xxx.sql;最后导入这个文件即可(source Export.sql);

猜你喜欢

转载自blog.csdn.net/IT8343/article/details/84822181