导出MYSQL数据库中的部分数据

  1. 用sqlyong 工具可以很方便的导出部分列的数据,cvs、html、xml、execl xml、sql等格式。
  2. 如果一定用命令的话,用下面的操作吧: mysqldump -u用户名 -p密码 数据库名 表名 > 路径\xxx.sql
    说明:上面这个命令只能导出一个表的全部数据不能导出部分数据,为了导出部分数据,先把users表的user和password列导出到临时表,再讲临时表导出,需要的时候再倒入从临时表中拿出数据。

    • create table tmp as select user,name from users;
    • mysqldump [-h地址 -P端口] -u用户名 -p密码 数据库名 tmp > 路径\xxx.sql

    注意create命令要在mysql中执行,mysqldump在cmd中执行就可以。

  3. 使用 -e 参数,如下:
    mysqldump [-h地址 -P端口] -u用户名 -p密码 -e “select * from database.table where 1” > /path/xxx.txt
    -e 后接的sql语句根据自身的情况填写。
    这时候导出的数据都是完整的数据,以\t为间隔,
    若需要导入到其它表,稍作处理(去掉第一行的字段名,可用于以下的field),使用load data infile导入,如:
    load data local infile “/path/xxx.txt” into table xxx(field1,field2,….)

补充:只导入部分数据 mysqldump -u用户名 -p密码 数据库名 表名 “–w=’where 条件'”< 路径\xxx.sql
如:mysqldump -u用户名 -p密码 test t1 “–w=’where name=’张三'”< 路径\xxx.sql 就是只导入 name=’张三’的数据。

再补充: mysqldump -u用户名 -p密码 test t1 “–w=where uid between 1 and 100″< 路径\xxx.sql
说明:【”–w=where uid between 1 and 100″】就是你要写的where条件,你想怎么写,写进去就可以了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注