搞定使用MySQL导入外部的SQL文件执行
    很多的时候都需要将外部生成的SQL语导入到MYSQL里面去执行,可是在字符界面,又不能够将所有的SQL语句粘贴到字符界面里面去执行,现在能够做的有两种选择:
    1)使用一个类似于SQL SERVER等的图形界面编辑软件,这个确实很好,使用也很方便,也直观,如大家使用的比较多的有Mysql Front以及Mysql Admistrator,不过,这里有一个严重的问题,虽然对也使用英语的国家不是问题,在我们这里确是比较至命的,都不支持中文记录插入,特别是Mysql Admistrator,在界面里面输入的时候就会出现字符显示问题,Mysql Front还好一点,并且我觉得做得更人性化一点,如果你的数据不需要录入中文,那我推荐使用Mysql Front。

    2)第一种方式不能够解决问题,那就只能使用别的方式了,查阅了一个Mysql的帮助文档,说可以使用命令"source <sql文件的绝对地址>"或者是"/. <sql文件的绝对地址>",这两个都可以,可以那就试试吧:写一个test.sql放在C盘的根目录下,内容如下:

   

use db
     create table tt(int id,name char(50)); 
     insert into tt values(1,'sda'); 
     insert into tt values(2,'sgh');


    不管用什么命令都是说外部文件无法导入,我还以为是MYSQL给的命令有错。今天又确实需要导入数据,有几百条,不可能让我一条条的录入吧,那样的话就是一个字:惨。没有办法,再打开字符,输入"source c:test.sql",居然可以了,记录就那么一条条的在眼前飞闪过,那就一个字:爽。


    后来分析了一个,主要是data.sql里面全是插入的语句,没有用到什么"create"及"use"等等,那说明合是插入性的语句是可以通过这种方式搞定的。不过,这不是我的错,我在网上找了一个,好多人都在问这个问题,可是就没有一个解决了的,至少我没有看到。如果Mysql帮助文档说明或者是举个例子那就very good了。

=====================

后记,这是07年写的文章了,当时这样操作出问题,应该与当时使用的MYSQL版本有一定关系,使用现在5点多版本的MYSQL导入不会出现上面的问题了。

MYSQL执行外部的SQL文件,还可以有下面的一种方式,如我的测试系统是linux:

/opt/lampp/bin/mysql -uusername -ppassword < sqlfile.sql

Windows上面我没有测试过这样导入,原理应该是一样的,Windows上面我主要还是使用source登陆进行导入。