关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » MySQL »十个节省时间的MySQL命令

    十个节省时间的MySQL命令

    2011-02-23 16:07:00 出处:ITJS
    分享

    虽然有许多基于GUI的MySQL客户端存在,如著名的phpMyAdmin和SQLYog,但我一直喜欢原生的MySQL命令行客户端,的确,在未熟悉这些命令行接口(CLI)之前,我们需要花一些时间来熟悉它们,特别是你平时不是经常在具有强大的CLI环境的操作系统下工作时,但只要经过一些练习,你就可以通过CLI管理用户,浏览你的数据库和执行其它任务,其快感是其它人体会不到的。

    在该文中,我将会介绍我在工作中积累起来的一些MySQL命令行客户端技巧,不管你尝试其中一个还是所有技巧,我敢保证你一定会节省大量的时间。

    顺便提一下,MySQL命令行客户端适应所有操作系统,当然包括Windows,但因为Windows原生CLI环境让人畏惧,因此推荐Windows用户下载并安装Console,它是Windows命令行的一个替代解决方案,提供了更强大的功能,如方便的文本选择,多标签窗口等。

    1、登录过程自动化

    正确配置的MySQL服务器需要你提供用户名和密码进行身份验证,通常情况下,我们可以直接在mysql命令后加上用户名,出于安全考虑,密码就不跟上了,回车执行时,命令提示符会提醒你输入密码。

    %>mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. ...

    通过这一个小小的改进,一年可以少输入几千次用户名,累计起来在登录时间上可以节省几个小时,创建一个.my.cnf文件,将其放在你的home目录下,如果是Windows,文件名则为my.ini,并且要放在MySQL安装目录下,在这个文件中,添加下面的代码,请使用你的登录信息替换占位符。

    [client] host = your_mysql_server user = your_username password = your_password

    一定要正确设置这个文件的权限,防止敏感数据被偷窥。

    2、自动切换数据库

    登录客户端后,你需要切换到目标数据库,通常我们会使用下面这个命令来切换数据库:

    mysql>use wjgilmore_dev;

    如果你想登录后自动切换到目标数据库,可以在上一步介绍的文件中添加下面的命令,注意位置也要放在[client]小节:

    database = your_database_name

    3、从脚本发送命令

    设计一个新数据库时,我喜欢使用MySQL Workbench(MySQL工作台)设计模式和关系,它是一个特别强大的工具,你可以在图形界面下管理你的模式,然后同步到MySQL服务器,或将SQL命令导出到一个文件,方便以后再导入到MySQL。

    如果你喜欢手写代码,如创建大量的存储过程,或执行一个很长的连接,你可以将SQL保存为一个文件,然后将这个文件传递给客户端执行,如:

    %>mysql < schema.sql

    当然你需要指定连接字符串,或象前面一样通过配置文件来指定。

    4、垂直显示结果

    即使是很简单的表模式,也会包含几列字段,例如下面的表由11个字段组成,当我执行一个全结构查询时,输入结果如下:

    mysql> select * from accounts where username = 'wjgilmore'; +----+-----------+------------------+------------------------------ ----+----------+-----------+------------+-----------+-------------- --------------------+---------------------+---------------------+ | id | username | email | password | zip_code | latitude | longitude | confirmed | recovery | created_on | last_login | +----+-----------+------------------+------------------------------- ---+----------+-----------+------------+-----------+----------------- -----------------+---------------------+---------------------+ | 7 | wjgilmore | wj@wjgilmore.com | 2b877b4b825b48a9a0950dd5bd1f264d | 43201 | 39.984577 | -83.018692 | 1 | 8bnnwtqlt2289q2yp81tuge82fty501h | 2010-09-16 14:48:41 | 2010-10-27 15:49:44 | +----+-----------+------------------+---------------------------------- +----------+-----------+------------+-----------+---------------------- ------------+---------------------+---------------------+

    显然我们不能接受,也无法阅读这种显示结果,使用G命令将上面丑陋的显示结果转换为垂直型。

    mysql> select * from accounts where username = 'wjgilmore'G *************************** 1. row *************************** id: 7 username: wjgilmore email: wj@wjgilmore.com password: 2b877b4b825b48a9a0950dd5bd1f264d zip_code: 43201 latitude: 39.984577 longitude: -83.018692 confirmed: 1 recovery: 8bnnwtqlt2289q2yp81tuge82fty501h created_on: 2010-09-16 14:48:41 last_login: 2010-10-27 15:49:44

    这样看起来就更舒服一点。

    5、启用Tab键自动完成功能

    重复输入表名和字段名无疑是很乏味的,给mysql客户端传递一个--auto-rehash参数,或是在my.ini文件中添加下面的命令来启用Tab键自动完成功能。

    [mysql] auto-rehash

    6、改变提示符

    我不止一次想查看或修改被告知表不存在的模式,遇到这种情况我常常会很恐惧,大多数时候我登错数据库,导致错误地删除不该删除的表,通过修改MySQL客户端提示符,让它显示当前操作的数据库名字,从而避免误操作,为了让mysql客户端具备这种交互性,登录后执行下面的命令即可:

    mysql>prompt [d]> [dev_wjgilmore_com]>

    你可能希望永久保持这种效果,简单,只需要将下面的命令添加到你的配置文件中即可:

    prompt = [d]>

    当然不仅限于提示数据库名字,还可以显示当前日期和时间,主机名和用户名,请阅读MySQL手册了解更全面的信息。

    7、使用安全更新预防灾难

    前面我也提到,当表被意外删除时可能会引起恐惧,我相信不止我一个人有类似的经历,除了不小心执行了DROP TABLE外,更让人崩溃的是忽略WHERE子句的UPDATE命令,例如,假设你想使用下面的命令修改用户的用户名:

    mysql>UPDATE users set User = 'wjgilmore' WHERE User = 'wjgilmore-temp';

    但当你冲忙地想出去吃饭时,可能忘记敲入后面的WHERE子句

    mysql>UPDATE users set User = 'wjgilmore';

    一旦你按下回车,后果就很严重,users表中所有用户的用户名全部被修改为wjgilmore了,为了避免这种低级,但又会带来灾难性后果的错误,请在配置文件中添加下面的命令:

    safe-updates

    8、使用命令文档

    许多用户都知道mysql客户端的内置文档,输入help命令时,它会显示一长串的命令列表。

    mysql>help ... List of all MySQL commands: Note that all text commands must be first on line and end with ';' ( ) Synonym for `help'. clear (c) Clear the current input statement. connect (r) Reconnect to the server. Optional arguments are db and host. delimiter (d) Set statement delimiter. ...

    如果你不知道DESCRIBE命令如何使用,只需要输入

    mysql>help describe; Name: 'DESCRIBE' Description: Syntax: {DESCRIBE | DESC} tbl_name [col_name | wild] DESCRIBE provides information about the columns in a table. It is a shortcut for SHOW COLUMNS FROM. These statements also display information for views. (See [HELP SHOW COLUMNS].) ...

    9、使用Pager

    有时你可能想查看表的某一行数据,但在屏幕上往往会显示满屏的数据,除了使用LIMIT子句外,开启客户端pager,设置你的系统分页实用程序:

    mysql>pager more PAGER set to 'more'

    如果要禁用pager,执行nopager命令即可。

    10、将输出内容转储到文件

    你可能偶尔需要将SQL执行结果输出到一个文该篇文章件,可以使用SELECT INTO OUTFILE command命令达到目的,或直接在mysql客户端中启用tee命令,并制定输出文件实现同样的功能,如:

    mysql>tee sales_report.txt

    小结

    不管你是挑选其中一部分还是尝试这10个技巧,它们都会为你节省大量的时间和精力,并会减轻你的痛苦,如果你知道其它MySQL命令行技巧,不妨在评论中一起分享一下吧!

    原文出处:http://www.developer.com/db/10-command-line-timesavers-for-mysql-tasks.html

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    抖音安全与信任开放日:揭秘推荐算法,告别单一标签依赖

    ultraedit编辑器打开文件时,总是提示是否转换为DOS格式,如何关闭?

    Cornell大神Kleinberg的经典教材《算法设计》是最好入门的算法教材

    从 Microsoft 下载中心安装 Windows 7 SP1 和 Windows Server 2008 R2 SP1 之前要执行的步骤

    Llama 2基于UCloud UK8S的创新应用

    火山引擎DataTester:如何使用A/B测试优化全域营销效果

    腾讯云、移动云继阿里云降价后宣布大幅度降价

    字节跳动数据平台论文被ICDE2023国际顶会收录,将通过火山引擎开放相关成果

    这个话题被围观超10000次,火山引擎VeDI如此解答

    误删库怎么办?火山引擎DataLeap“3招”守护数据安全

    IT头条

    平替CUDA!摩尔线程发布MUSA 4性能分析工具

    00:43

    三起案件揭开侵犯个人信息犯罪的黑灰产业链

    13:59

    百度三年开放2.1万实习岗,全力培育AI领域未来领袖

    00:36

    工信部:一季度,电信业务总量同比增长7.7%,业务收入累计完成4469亿元

    23:42

    Gartner:2024年全球半导体营收6559亿美元,AI助力英伟达首登榜首

    18:04

    技术热点

    iOS 8 中如何集成 Touch ID 功能

    windows7系统中鼠标滑轮键(中键)的快捷应用

    MySQL数据库的23个特别注意的安全事项

    Kruskal 最小生成树算法

    Ubuntu 14.10上安装新的字体图文教程

    Ubuntu14更新后无法进入系统卡在光标界面解怎么办?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。