MySQL中,可以使用mysqlimport命令将文本文件导入到MySQL数据库中。基本的语法格式如下:
mysqlimport -u root -pPassword [--local] dbname filename.txt [OPTION]
其中,“Password”参数是root用户的密码,必须与-p选项紧挨着;“--local”是在本地计算机中查找文本文件时使用的;“dbname”参数表示数据库的名称;“filename.txt”参数指定了文本文件的路径和名称;“OPTION”为可选参数选项,其常见的取值有:
使用mysqlimport命令,将employee.txt文件中的记录导入到employee表中。操作步骤如下:
1. 查看F:/backup/employee.txt文件中的内容。如下图所示:
注意:
如果employee.txt文件中包含了中文字符,则需要将employee表的字符集修改为gb2312,使employee.txt文件和employee表的字符集保持一致。否则,将记录导入到employee表中以后,会出现乱码的现象。
当然,如果文本文件使用的是utf8字符集,那么,则需要将employee表的字符集修改为utf8。
2. 如果没有employee表,则需要创建一个空employee表;如果该表已经存在,则将employee表中的数据全部删除。执行结果如下:
上图中,通过对表的查询可以看出,employee表已经没有了数据记录。就是数据表employee存在,但是表中没有任何记录。
3. 本实例中,employee.txt文件使用的是中文gb2312字符集,现在将employee表同样设置为gb2312字符集。SQL代码如下:
mysql>ALTER TABLE employee DEFAULT character set gb2312; mysql>ALTER TABLE employee CONVERT TO character set gb2312;
执行结果如下:
如果在phpMyAdmin中,则可以按照下面的步骤进行修改:
phpMyAdmin主界面->在左侧选择employee表->在右侧顶端点击“操作”链接->在“表选项”的“排序规则”中选择“gb2312_chinese_ci”->点击“执行”按钮,即可将employee表的字符集设置为gb2312。
3. 使用mysqlimport命令,将employee.txt文件中的记录导入到employee表中。SQL代码如下:
mysqlimport -u root -p example F:/backup/employee.txt --fields-terminated-by=\、 --fields-optionally-enclosed-by=\" --lines-terminated-by=\r\n
上面的语句要在一行中输入,要注意空格的使用。执行结果如下:
语句执行成功,将employee.txt中的数据导入到了数据库中。
4. 查询employee表中的数据记录。如下图所示:
通过对表的查询可以看出,已经成功将employee.txt中的数据导入到了employee表中。
除了前面介绍的几个选项之外,mysqlimport命令还支持许多选项。常见的选项如下: