• 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 baijunyao -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_priv ;
    意思就是必须导出到 secure_file_priv 指定的目录下;

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

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

    [mysqld]
    secure_file_priv = 指定目录
    Bash

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

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

     

  • 相关阅读:
    Eclipse/MyEclipse 选择Android NDK目录时提示“Not a valid NDK directory”
    Eclipse更改颜色主题
    Android模拟器访问本机服务器
    DIV水平垂直居中的CSS兼容写法
    Python3中使用PyMySQL连接Mysql
    Windows7 IE11 F12控制台DOC资源管理器报错的问题解决方法
    Windows 7无法卸载及安装IE11的解决方法
    查看端口占用
    VS2010/VS2013中ashx代码折叠的问题
    手机页面关于头部固定定位与input出现的问题
  • 原文地址:https://www.cnblogs.com/microtiger/p/7798817.html
Copyright © 2020-2023  润新知