如何在Laravel迁移中导入含批量数据的自定义SQL文件
MySQL导入区域数据SQL文件操作说明
我有一个用于创建区域数据表(含4000条城市记录)的SQL文件,对应伊朗的区域数据,需在MySQL中完成表创建与全量数据插入。以下是该SQL文件中31个省份的表结构及数据示例:
CREATE TABLE `ostan` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `amar_code` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`), FULLTEXT KEY `name_txt` (`name`) ) ENGINE=InnoDB; /*!40101 SET character_set_client = @saved_cs_client */; -- -- 导出 `ostan` 表数据 -- /*!40000 ALTER TABLE `ostan` DISABLE KEYS */; INSERT INTO `ostan` VALUES (1,'东阿塞拜疆省','3'); INSERT INTO `ostan` VALUES (2,'西阿塞拜疆省','4'); INSERT INTO `ostan` VALUES (3,'阿尔达比勒省','24'); INSERT INTO `ostan` VALUES (4,'伊斯法罕省','10'); INSERT INTO `ostan` VALUES (5,'厄尔布尔士省','30'); INSERT INTO `ostan` VALUES (6,'伊拉姆省','16'); INSERT INTO `ostan` VALUES (7,'布什尔省','18'); INSERT INTO `ostan` VALUES (8,'德黑兰省','23'); INSERT INTO `ostan` VALUES (9,'恰哈马哈勒-巴赫蒂亚里省','14'); INSERT INTO `ostan` VALUES (10,'南霍拉桑省','29'); INSERT INTO `ostan` VALUES (11,'礼萨呼罗珊省','9'); INSERT INTO `ostan` VALUES (12,'北霍拉桑省','28'); INSERT INTO `ostan` VALUES (13,'胡齐斯坦省','6'); INSERT INTO `ostan` VALUES (14,'赞詹省','19'); INSERT INTO `ostan` VALUES (15,'塞姆南省','20'); INSERT INTO `ostan` VALUES (16,'锡斯坦-俾路支斯坦省','11'); INSERT INTO `ostan` VALUES (17,'法尔斯省','7'); INSERT INTO `ostan` VALUES (18,'加兹温省','26'); INSERT INTO `ostan` VALUES (19,'库姆省','25'); INSERT INTO `ostan` VALUES (20,'库尔德斯坦省','12'); INSERT INTO `ostan` VALUES (21,'克尔曼省','8'); INSERT INTO `ostan` VALUES (22,'克尔曼沙赫省','5'); INSERT INTO `ostan` VALUES (23,'科吉卢耶-博韦艾哈迈德省','17'); INSERT INTO `ostan` VALUES (24,'戈勒斯坦省','27'); INSERT INTO `ostan` VALUES (25,'吉兰省','1'); INSERT INTO `ostan` VALUES (26,'洛雷斯坦省','15'); INSERT INTO `ostan` VALUES (27,'马赞达兰省','2'); INSERT INTO `ostan` VALUES (28,'中央省','0'); INSERT INTO `ostan` VALUES (29,'霍尔木兹甘省','22'); INSERT INTO `ostan` VALUES (30,'哈马丹省','13'); INSERT INTO `ostan` VALUES (31,'亚兹德省','21'); /*!40000 ALTER TABLE `ostan` ENABLE KEYS */;
操作步骤
- 提前创建目标数据库(若未存在):执行
CREATE DATABASE your_db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;,确保字符集支持波斯语/中文正常显示 - 命令行导入:打开终端,执行
mysql -u your_username -p your_db_name < /path/to/your/sql_file.sql,输入数据库密码后等待导入完成 - 图形化工具导入:使用Navicat、phpMyAdmin等工具连接数据库,选中目标库后选择「导入」功能,上传SQL文件并执行
注意事项
- 导入前请备份目标数据库,防止数据冲突或覆盖
- 4000条记录导入可能耗时,请勿中断进程
- 若出现字符乱码,检查数据库及连接的字符集设置是否为
utf8mb4
内容的提问来源于stack exchange,提问作者pooya
相关产品推荐
相关产品推荐

