关闭

多种方法导入导出mysql数据

740人阅读 评论(0) 收藏 举报


多种方法导入导出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数据导入与导出》 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1938次
    • 积分:45
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档