zoukankan      html  css  js  c++  java
  • mysql导出指定字段或指定数据到文件中


    使用mysqldump把mysql数据库的数据导出到文件中还是挺方便的;
    比如说要导出baijunyao数据库;

    // mysqldump -u用户名 -p 数据库名 [表名]> 导出的文件名
    mysqldump -uroot -p baijunyao > baijunyao.sql
    Bash

    导出baijunyao数据库中的users表;

    mysqldump -uroot -p baijunyao users > baijunyao.sql
    Bash

    但是有时候当表的数据比较多的时候;
    整张表都导出的话就比较坑爹了;
    我只是想要两列的内容;
    而你却给了我整个世界;
    这时候就需要一个导出指定字段的方法了;
    比如说导出users表的id和name字段;

    mysql -uroot -p niuxiao4 -e "SELECT id,name from users INTO OUTFILE'/tmp/bjy_users.sql'"
    Bash

    然而;如果人品不好的话;
    可能看到的是如下错误;

    ERROR 1290 (HY000) at line 1: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
    请容许我做一个悲伤的表情;
    这个时候;登录mysql;
    执行如下命令;

    show variables like '%secure%';
    Bash


    主要是看 secure_file_prive ;
    意思就是必须导出到 secure_file_prive 指定的目录下;

    mysql -uroot -p niuxiao4 -e "SELECT id,name from users INTO OUTFILE'/var/lib/mysql-files/baijunyao.sql'"
    Bash

    罢特;如果赶上本命年还没穿红;
    secure_file_prive 的 value 为 NULL;
    则代表不允许导出;
    好吧;这人品;也就告别自行车了;
    别放弃治疗;咱找到mysql的配置项文件my.cnf;
    在 [mysqld] 下面添加;

    [mysqld]
    secure_file_prive = 指定目录
    Bash

    最后再来个彩蛋;
    咱还可以再进一步;
    在限制指定字段的情况下;
    还可以用where限制条数;
    撒气矮子;

    mysql -uroot -p niuxiao4 -e "SELECT id,name from users where id>10 INTO OUTFILE'/var/lib/mysql-files/baijunyao.sql'"
    Bash

     

  • 相关阅读:
    每天学习Linux——日志管理
    每天学习Linux——日志查看
    每天学习Linux命令——history
    .NET中property与attribute的区别,以及反射机制
    java内部类
    java的多态
    子类构造方法
    单例模式
    重载,重写
    数据库调优的方法有那些
  • 原文地址:https://www.cnblogs.com/lazb/p/7270104.html
Copyright © 2011-2022 走看看