本篇内容主要讲解“有哪些可以节省时间的MySQL命令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些可以节省时间的MySQL命令”吧!
有哪些能节省时间的MySQL命令
1、登录过程自动化
正确配置的MySQL服务器需要你提供用户名和密码进行身份验证,通常情况下,我们可以直接在mysql命令后加上用户名,出于安全考虑,密码就不跟上了,回车执行时,命令提示符会提醒你输入密码。
%>mysql-uroot-pEnterpassword:WelcometotheMySQLmonitor.Commandsendwith;org....
通过这一个小小的改进,一年可以少输入几千次用户名,累计起来在登录时间上可以节省几个小时,创建一个.my.cnf文件,将其放在你的home目录下,如果是Windows,文件名则为my.ini,并且要放在MySQL安装目录下,在这个文件中,添加下面的代码,请使用你的登录信息替换占位符。
[client]host=your_mysql_serveruser=your_usernamepassword=your_password
一定要正确设置这个文件的权限,防止敏感数据被偷窥。
2、自动切换数据库
登录客户端后,你需要切换到目标数据库,通常我们会使用下面这个命令来切换数据库:
mysql>usewjgilmore_dev;
如果你想登录后自动切换到目标数据库,可以在上一步介绍的文件中添加下面的命令,注意位置也要放在[client]小节:
database=your_database_name
3、从脚本发送命令
设计一个新数据库时,我喜欢使用MySQLWorkbench(MySQL工作台)设计模式和关系,它是一个特别强大的工具,你可以在图形界面下管理你的模式,然后同步到MySQL服务器,或将SQL命令导出到一个文件,方便以后再导入到MySQL。
如果你喜欢手写代码,如创建大量的存储过程,或执行一个很长的连接,你可以将SQL保存为一个文件,然后将这个文件传递给客户端执行,如:
%>mysql
当然你需要指定连接字符串,或象前面一样通过配置文件来指定。
4、垂直显示结果
即使是很简单的表模式,也会包含几列字段,例如下面的表由11个字段组成,当我执行一个全结构查询时,输入结果如下:
mysql>select*fromaccountswhereusername='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-1614:48:41|2010-10-2715:49:44|+----+-----------+------------------+----------------------------------+----------+-----------+------------+-----------+----------------------------------+---------------------+---------------------+
显然我们不能接受,也无法阅读这种显示结果,使用G命令将上面丑陋的显示结果转换为垂直型。
mysql>select*fromaccountswhereusername='wjgilmore'G***************************1.row***************************id:7username:wjgilmoreemail:wj@wjgilmore.compassword:2b877b4b825b48a9a0950dd5bd1f264dzip_code:43201latitude:39.984577longitude:-83.018692confirmed:1recovery:8bnnwtqlt2289q2yp81tuge82fty501hcreated_on:2010-09-1614:48:41last_login:2010-10-2715:49:44
这样看起来就更舒服一点。
5、启用Tab键自动完成功能
重复输入表名和字段名无疑是很乏味的,给mysql客户端传递一个--auto-rehash参数,或是在my.ini文件中添加下面的命令来启用Tab键自动完成功能。
[mysql]auto-rehash
有哪些能节省时间的MySQL命令
6、改变提示符
我不止一次想查看或修改被告知表不存在的模式,遇到这种情况我常常会很恐惧,大多数时候我登错数据库,导致错误地删除不该删除的表,通过修改MySQL客户端提示符,让它显示当前操作的数据库名字,从而避免误操作,为了让mysql客户端具备这种交互性,登录后执行下面的命令即可:
mysql>prompt[d]>[dev_wjgilmore_com]>
你可能希望永久保持这种效果,简单,只需要将下面的命令添加到你的配置文件中即可:
prompt=[d]>
当然不仅限于提示数据库名字,还可以显示当前日期和时间,主机名和用户名,请阅读MySQL手册了解更全面的信息。
7、使用安全更新预防灾难
前面我也提到,当表被意外删除时可能会引起恐惧,我相信不止我一个人有类似的经历,除了不小心执行了DROPTABLE外,更让人崩溃的是忽略WHERE子句的UPDATE命令,例如,假设你想使用下面的命令修改用户的用户名:
mysql>UPDATEuserssetUser='wjgilmore'WHEREUser='wjgilmore-temp';
但当你冲忙地想出去吃饭时,可能忘记敲入后面的WHERE子句
mysql>UPDATEuserssetUser='wjgilmore';
一旦你按下回车,后果就很严重,users表中所有用户的用户名全部被修改为wjgilmore了,为了避免这种低级,但又会带来灾难性后果的错误,请在配置文件中添加下面的命令:
safe-updates
8、使用命令文档
许多用户都知道mysql客户端的内置文档,输入help命令时,它会显示一长串的命令列表。
mysql>help...ListofallMySQLcommands:Notethatalltextcommandsmustbefirstonlineandendwith';'()Synonymfor`help'.clear(c)Clearthecurrentinputstatement.connect(r)Reconnecttotheserver.Optionalargumentsaredbandhost.delimiter(d)Setstatementdelimiter....
如果你不知道DESCRIBE命令如何使用,只需要输入
mysql>helpdescribe;Name:'DESCRIBE'Description:Syntax:{DESCRIBE|DESC}tbl_name[col_name|wild]DESCRIBEprovidesinformationaboutthecolumnsinatable.ItisashortcutforSHOWCOLUMNSFROM.Thesestatementsalsodisplayinformationforviews.(See[HELPSHOWCOLUMNS].)...
9、使用Pager
有时你可能想查看表的某一行数据,但在屏幕上往往会显示满屏的数据,除了使用LIMIT子句外,开启客户端pager,设置你的系统分页实用程序:
mysql>pagermorePAGERsetto'more'
如果要禁用pager,执行nopager命令即可。
10、将输出内容转储到文件
你可能偶尔需要将SQL执行结果输出到一个文该篇文章件,可以使用SELECTINTOOUTFILEcommand命令达到目的,或直接在mysql客户端中启用tee命令,并制定输出文件实现同样的功能,如:
mysql>teesales_report.txt
到此,相信大家对“有哪些可以节省时间的MySQL命令”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!