您的位置:首页 > 数据库 > MySQL

多种方法导入导出mysql数据

2007-09-30 10:57 751 查看
多种方法导入导出mysql数据
                                                                                      xiong_7592 2007-9-29

环境:Linux、mysql

1.数据导出有以下几种方法:
 1).select into outfile 'filename'语句 ,特点单表处理能力较好
 2).mysqldump ,多表导出功能较强,但是数据筛选功能不强
 3).使用命令行执行sql语句

    使用select into outfile 'filename'语句 :可以在mysql命令行或linux终端下输入
mysql>SELECT * FROM tb_name into outfile '/tmp/tb_data.sql';
就可以把tb_name表的的所有数据导出到/tmp/tb_data.sql中,文件名要用单引号或双引号括起来。如果文件名不是绝对路径(linux基础知识,相信大家都是知道的),如文件名为'db_data.sql',我们导出的文件在什么地方呢?(ls下,汗!居然没有!!)其实文件在sql数据库的库目录下了,所以个人还是比较喜欢定位到绝对路径的'/tmp/'下,不过导出的文件夹对数据库的用户要有写权限。
    如果导出的格式(tab分隔)不是我们喜欢的,我们可以调整下,如以'''包括每个字段,以','分隔字语句如下mysql>SELECT * FROM tb_name into outfile '/tmp/tb_data.sql' fields terminated by ',' enclosed by '/'';

    mysqldump db_name tb_name
    mysqldump db_name > db_name.sql
    把db_name数据库的内容导入到当前目录的db_name.sql文件中,sql文件中包含创建表结构的语句和数据的插入语句。

    linux命令行下执行sql语句方法如下:
 #mysql -e "SELECT * FROM tb_name"
 #mysql -e"SELECT * FROM tb_name into outfile '/tmp/tb_data.sql' fields terminated by ',' enclosed by '/''"

2.数据导入也有三种方法:
    1).LOAD DATA INFILE 'filename'命令
    2).使用mysqlimport实用程序
    3).使用命令行mysql db_name < test_sql.sql
   
    从文件tb_name.txt导入数据到tb_name表,命令如下:
    mysql>load data infile 'tb_name.txt' into table tb_name fields terminated by ',' enclosed by '"';
   
    用mysqldump导入数据,命令如下:
    mysqlimport --fields-terminated-by=, --fields-enclosed-by=/" db_name tb_name.txt
   
    使用linux命令行,命令如下:
    #mysql db_name < db_name.sql
    #mysql -d db_name < db_name.sql
    #mysql -t db_name < db_name.sql
   
    由于本人水平有限,只能介绍这么多了,详细命令请参考手册。
   
参考文档:
    UNIX技术资料的宝库:limodou的《MySQL数据导入与导出》 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息