MySQL数据导入导出(转载)数据导出数据导出主要有以下几种方法:1)使用selectintooutfile"filename"语句2)使用mysqldump实用程序使用selectintooutfile"filename"语句可以在mysql的命令行下或在php程序中执行它。我下面以在mysql命令行下为例。在php中使用时,将其改成相应的查询进行处理即可。不过在使用这个命令时,要求用户拥有file的权限。如我们有一个库为phptest,其中有一个表为driver。现在要把driver卸成文件。执行命令:mysql>usephptest;DatabaseChangedmysql>select*fromdriverintooutfile"";QueryOK,22rowsaffected()。注意文件名要加单引号。那么这个文件在哪呢?在mysql目录下有一个data目录,它即是数据库文件所放的地方。每个库在单独占一个子目录,所以phptest的目录为c:\mysql\data\phptest(注意:我的mysql安装在c:\mysql下)。好,现在我们进去,。打开这个文件,可能是:1MikaHakinnen12DavidCoulthard13MichaelSchumacher24RubensBarrichello2...可能还有很多记录。每个字段之间是用制表符分开的(\t)。那么我们可以修改输出文件名的目录,以便放在指定的位置。如""可以改成"./"或"/"。其中"./"放在c:\mysql\data目录下了,而"/"文件则放在c:\目录下了。所以select命令认为的当前目录是数据库的存放目录,这里是c:\mysql\data。使用select命令还可以指定卸出文件时,字段之间的分隔字符,转义字符,包括字符,及记录行分隔字符。列在下面:FIELDSTERMINATEDBY"\t"[OPTIONALLY]ENCLOSEDBY""ESCAPEDBY"\\"LINESTERMINATEDBY"\n"TERMINATED表示字段分隔[OPTIONALLY]ENCLOSED表示字段用什么字符包括起来,如果使用了OPTIONALLY则只有CHAR和VERCHAR被包括ESCAPED表示当需要转义时用什么作为转义字符LINESTERMINATED表示每行记录之间用什么分隔上面列的是缺省值,而且这些项都是可选的,不选则使用缺省值。可以根据需要进行修改。给出一个例子如下:mysql>select*fromdriverintooutfile""fieldsterminatedby","enclosedby""";QueryOK,22rowsaffected()结果可能如下:"1","Mika","Hakinnen","1""2","David","Coulthard","1""3","Michael","Schumacher","2""4","Rubens","Barrichello","2"...可以看到每个字段都用","进行了分隔,且每个字段都用"""包括了起来。注意,行记录分隔符可以是一个字符串,请大家自行测试。不过,如果输出文件在指定目录下如果存在的话就会报错,先删除再测试即可。使用mysqldump实用程序从上面的select方法可以看出,输出的文件只有数据,而没有表结构。而且,一次只能处理一个表,要处理多个表则不是很容易的。不过可以将select命令写入一个sql文件(复制文本应该是很容易的吧),然后在命令行下执行即可:mysql库名先来个最简单的吧:mysqldumpphptest>:###Host:localhostDatabase:phptest#--------------------------------------------------------#-shareware-debug##Tablestructurefortable"driver"#CREATETABLEdriver(drv_idint(11)DEFAULT"0"NOTNULLauto_increment,drv_forenamevarchar(15)DEFAULT""NOTNULL,drv_surnamevarchar(25)DEFAULT""NOTNULL,drv_teamint(11)DEFAULT"0"NOTNULL,PRIMARYKEY(drv_id));##Dumpingdataforta
MySQL数据导入导出 来自淘豆网m.daumloan.com转载请标明出处.