MySQL客户端命令行应用工夫大全数据库,十二个节

2019-06-14 作者:数据库   |   浏览(154)

MySQL客户端命令行大家都用的可比多,上面就为您详细介绍MySQL客户端命令行应用本领,希望得以让您对MySQL客户端命令行有越多的询问。

纵然有为数相当的多依照GUI的MySQL客户端存在,如知名的phpMyAdmin和SQLYog,但自己直接喜欢原生的MySQL命令行客户端,的确,在未领悟这么些命令行接口(CLI)在此之前,大家须求花一些时刻来熟知它们,特别是您平日不是隔三差五在享有庞大的CLI情况的操作系统下专门的工作时,但即便经过一些操演,你就足以透过CLI处理用户,浏览你的数据库和实施此外职务,其快感是其余人体会不到的。

即便有众多遵照GUI的MySQL客户端存在,如盛名的phpMyAdmin和SQLYog,但自个儿直接喜欢原生的MySQL命令行客户端,的确,在未熟稔那个命令行接口(CLI)在此之前,我们须要花一些时刻来熟悉它们,非常是您日常不是隔三差五在享有强大的CLI境况的操作系统下工作时,但如果经过一些练兵,你就足以通过CLI管理用户,浏览你的数据库和实践此外任务,其快感是另别人体会不到的。

改变客户端提醒符

在那篇小说中,小编将会介绍自个儿在专门的学业中积攒起来的部分MySQL命令行客户端本领,不管您品尝个中二个大概具备手艺,笔者敢保障你一定会省去大量的小时。

在那篇小说中,小编将会介绍自个儿在工作中积攒起来的部分MySQL命令行客户端技能,不管您尝试其中贰个恐怕有着技能,小编敢有限辅助你早晚上的集会省去大批量的小运。

假如每运行三遍show tables来唤起自个儿眼下所采用的是哪位数据库就能够收获一块钱的话,估量现在自己都成都百货万富翁了。事实上,当我们不停的为期在IDE、shell提醒符和MySQL客户端提醒符之间切换的时候,很轻巧就能迷失方向,不领会本人在何地了。要从根本上消除那个主题材料,可以使用以下prompt命令来改变MySQL的唤起符:

附带提一下,MySQL命令行客户端适应全部操作系统,当然包罗Windows,但因为Windows原生CLI遭遇令人害怕,因而推荐Windows用户下载并安装Console,它是Windows命令行的三个代表化解方案,提供了更加强劲的效应,如方便的文件选取,多标签窗口等。

顺手提一下,MySQL命令行客户端适应全数操作系统,当然包罗Windows,但因为Windows原生CLI情状令人等闲视之,因而推荐Windows用户下载并安装Console,它是Windows命令行的三个代替解决方案,提供了更有力的作用,如方便的文本选用,多标签窗口等。

mysql>prompt mysql (d)>

1、登陆进度自动化

1、登入进程自动化

施行完该命令后,方今所挑选的数据库就能够在提示符中显示出来,如下:

没有错配置的MySQL服务器须求您提供用户名和密码进行身份验证,平时情形下,大家得以一贯在mysql命令后拉长用户名,出于安全着想,密码就不跟上了,回车施行时,命令提醒符会提醒您输入密码。

科学配置的MySQL服务器必要您提供用户名和密码进行身份验证,经常景况下,大家能够一贯在mysql命令后拉长用户名,出于安全着想,密码就不跟上了,回车实施时,命令提醒符会提示您输入密码。

mysql (corporate)>

复制代码 代码如下:

复制代码 代码如下:

其余,大家也很轻巧跟丢大家所登入的数据库服务器,更毫不说正在选择的帐户了。要缓和这么些主题素材,通过动用u 和h 选项来改动提醒符设置:

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

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

mysql>prompt mysql ([email protected])>

通过那三个微小创新,一年得以少输入几千次用户名,累计起来在登入时间上能够省去多少个小时,创造一个.my.cnf文件,将其位于你的home目录下,即便是Windows,文件名则为my.ini,并且要放在MySQL安装目录下,在那些文件中,增多上面包车型大巴代码,请使用你的记名信息替换占位符。

经过这三个非常小创新,一年能够少输入几千次用户名,累计起来在签到时间上能够节约多少个时辰,创立二个.my.cnf文书,将其放在你的home目录下,若是是Windows,文件名则为my.ini,并且要放在MySQL安装目录下,在那些文件中,增加底下的代码,请使用你的登入新闻替换占位符。

实行命令的结果如下:

复制代码 代码如下:

复制代码 代码如下:

mysql ([email protected])>

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

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

想要恒久的保留这种变动设置,能够将以下的吩咐增多到.my.cnf 文件中:

肯定要精确安装这几个文件的权位,制止敏感数据被偷窥。

必然要准确安装这么些文件的权柄,制止敏感数据被偷窥。

[mysql] prompt=mysql d>

2、自动切换数据库

2、自动切换数据库

数据库、用户和主机选项只是众多可选选项的二个十分小的一些而已,您可以参照MySQL的注解文书档案以获得更加的多消息。

登陆客户端后,你须要切换来指标数据库,日常大家会接纳上面这些命令来切换数据库:

报到客户端后,你须求切换成对象数据库,平时大家会选拔上边那几个命令来切换数据库:

动用shell 阿里as(外号)来进行平日利用的MySQL命令

复制代码 代码如下:

复制代码 代码如下:

假若你的新web应用正稳步步入应用阶段,每一个时辰都有新用户注册。就疑似新上市期货(Futures)上市同样,您和您的同事需求平时关注注册用户的数目。可是,就为了实行一个粗略的计数查询就需求不停的记名退出MySQL,鲜明不是很划算。假若您登陆到服务器,您能够成立七个shell外号来促成登陆到MySQL服务器、选择妥帖的数据库和进行计数命令整个进度:

mysql>use wjgilmore_dev;

mysql>use wjgilmore_dev;

%>alias usrcount="mysql -u appadmin -p myapplication
-e "select count(id) from users""

借使你想登陆后自行切换成对象数据库,能够在上一步介绍的文书中加多下边包车型客车命令,注意地点也要放在[client]小节:

假让你想登陆后自行切换成对象数据库,能够在上一步介绍的公文中增加下边包车型客车下令,注意地点也要放在[client]小节:

在本例中,您想要使用appadmin用户帐户登入到本地MySQL服务器,接纳myapplication数据库,然后选拔SELECT查询来实行计数查询。而实施以上命令后,当你想要分明系统中有微微用户时,只要求实践以下的通令,并输入appadmin的用户密码就能够了:

复制代码 代码如下:

复制代码 代码如下:

%>usrcount
Enterpassword:
-------------
|count(id)|
-------------
|348|
-------------

database = your_database_name

database = your_database_name

想要恒久的保存那几个别称,能够将其增加保存到.bashrc文件或看似的shell配置文件中。

3、从剧本发送命令

3、从剧本发送命令

以垂直格式表现查询结果

规划三个新数据库时,笔者欣赏使用MySQL Workbench(MySQL职业台)设计情势和涉及,它是一个特地有力的工具,你能够在图形分界面下管理你的格局,然后一齐到MySQL服务器,或将SQL命令导出到三个文本,方便以往再导入到MySQL。

统一计划二个新数据库时,作者喜爱使用MySQL Workbench(MySQL工作台)设计方式和事关,它是三个专程强劲的工具,你能够在图形分界面下管理你的情势,然后一齐到MySQL服务器,或将SQL命令导出到二个文书,方便今后再导入到MySQL。

当表包涵了多数列时,要在二个shell窗口中呈现SELECT查询的结果就一定劳累了。通过在询问中附加三个G调换就能够很轻便化解这一艰巨之处:

倘使您喜爱手写代码,如创立大气的积累进程,或施行八个不长的连天,你能够将SQL保存为多个文书,然后将那几个文件传递给客户端奉行,如:

借使您喜爱手写代码,如创建大气的囤积进度,或实行贰个很短的连天,你能够将SQL保存为三个文本,然后将那一个文件传递给客户端实行,如:

mysql>SELECT * from users WHERE id=1G

复制代码 代码如下:

复制代码 代码如下:

实施这一询问会使出口结果表现如下:

%>mysql < schema.sql

%>mysql < schema.sql

mysql test>select * from users where id=1G
*************************** 1. row *********
  id: 1
name: Nancy
email: [email protected]
telephone: 861088888888
city: Beijing
1 row in set (0.00 sec)

本来你必要内定连接字符串,或象前边一样通过布署文件来钦赐。

本来你供给钦命连接字符串,或象前边一样通过安插文件来钦命。

从询问结果创制一个CSV文件

4、垂直突显结果

4、垂直呈现结果

假使您能够很标准地选取数据库,那么很可能会有同事令你将数据从数据库中间转播存到二个Excel文件,以便进行更进一步的剖判。大家能够透过改造二个SELECT查询来施行全数的CSV格式化步骤,然后将数据放置到文本文件中。您要求做的只是要提出甘休的字段和界限。举个例子,使用上面包车型大巴授命能够将一个名字为users的表转存到名字为users.csv的CSV文件中:

就算是很简短的表情势,也会蕴藏几列字段,比如下边包车型大巴表由13个字段组成,当本身实施一个全结构查询时,输入结果如下:

纵然是很简短的表格局,也会蕴藏几列字段,比方上边包车型大巴表由13个字段组成,当自身实践二个全结构查询时,输入结果如下:

mysql>SELECT*FROMusersINTOOUTFILE'/home/jason/users.csv'

复制代码 代码如下:

复制代码 代码如下:

FIELDSTERMINATEDBY''->LINESTERMINATEDBY' ';

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

 
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命令将地方丑陋的显示结果转变为垂直型。

众目昭彰大家不可能承受,也不知所厝读书这种展现结果,使用G命令将位置丑陋的来得结果调换为垂直型。

一经你在编写制定一个用来出卖精彩纷呈产品的电子商务应用程序。相比较明智的做法是先对那几个产品实行分拣,由此,您只怕供给利用贰个表(本例中命名称叫categories)来治本这个分类名称:

复制代码 代码如下:

复制代码 代码如下:

mysqltest>createtablecategories(
->idintegernotnullauto_increment,
->namevarchar(35)notnull,
->primarykey(id));

mysql> select * from accounts where username = 'wjgilmore'G
*************************** 1. row ***************************
id: 7 username: wjgilmore email: [email protected]
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

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

当你在编写程序的长河中,您曾经增多了八个涵盖分类列表的文件文件(categories.txt)。那几个文件类似以下格局:

如此那般看起来就更舒心一点。  

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

糖果

5、启用Tab键自动实现作用

5、启用Tab键自动完结功用

水果

再一次输入表名和字段名无疑是很雅淡的,给mysql客户端传递一个--auto-rehash参数,或是在my.ini文件中增添上面包车型客车下令来启用Tab键自动完结功效。

重新输入表名和字段名无疑是很干燥的,给mysql客户端传递三个--auto-rehash参数,或是在my.ini文件中增添下面的下令来启用Tab键自动完结作用。

咖啡

复制代码 代码如下:

复制代码 代码如下:

[mysql] auto-rehash

[mysql] auto-rehash

蔬菜

6、退换提醒符

6、更换提示符

接下去就要将那么些分类增多到categories 表中。您可以手动增多,可是那很耗时还要轻便失误,比较明智的做法是使用MySQL的LOAD DATA INFILE命令:

作者不唯有三次想查看或改造被报告表不存在的方式,蒙受这种情景自个儿时时会很害怕,大好些个时候笔者登错数据库,导致错误地删除不应当删除的表,通过改换MySQL客户端提醒符,让它显安妥前操作的数据库名字,从而制止误操作,为了让mysql客户端具有这种交互性,登陆后实行上面包车型客车一声令下就能够:

自己不唯有三遍看查看或涂改被告知表不存在的格局,境遇这种景况小编时时会很恐惧,大繁多时候本身登错数据库,导致错误地删除不应该删除的表,通过改变MySQL客户端提醒符,让它呈现当前操作的数据库名字,从而幸免误操作,为了让mysql客户端具有这种交互性,登入后实行上边的授命就可以:

mysql>LOADDATAINFILE'/home/nancy/categories.txt'
INTOTABLEcategories->LINESTERMINATEDBY'
'
倘诺您的输入文件的每一行都包罗了多少个门类,那你能够经过行使制表符来分隔这一个种类并把各类项目插入到三个单独的列中,使用FIELDS TERMINATED BY '':

复制代码 代码如下:

复制代码 代码如下:

mysql>LOADDATAINFILE'/home/jason/categories.txt'
INTOTABLEcategories->FIELDSTERMINATEDBY''
LINESTERMINATEDBY'
'

mysql>prompt [d]> [dev_wjgilmore_com]>

mysql>prompt [d]> [dev_wjgilmore_com]>

剥夺烦人的荒谬提示音

你大概希望永久保持这种作用,容易,只须求将上面包车型客车通令增添到你的配备文件中就能够:

您只怕希望恒久保持这种功用,轻松,只须要将上面包车型客车命令加多到您的配备文件中就能够:

您或然很讨厌MySQL客户端发出的失实提醒音。假如你实在没辙适应这种哔哔声,您能够从客户端内部实践一个查询来救亡图存这一个中午惊铃。纵然那样做对于效能并不曾什么关系,但你还能够把那几个效应禁止使用掉。权且禁止使用提醒声,能够在签到到服务器的同期调用 --no-beep。

复制代码 代码如下:

复制代码 代码如下:

%>mysql -u root -p --no-beep

prompt = [d]>

prompt = [d]>

要想永世禁止使用这一个成效,则将no-beep增添到.my.cnf 文件的[client]部分。    

理当如此不只有限于提示数据库名字,还足以展现当前几日期和时间,主机名和用户名,请阅读MySQL手册精通更宏观的消息。

自然不唯有限于提醒数据库名字,还是能来稳妥前天期和时间,主机名和用户名,请阅读MySQL手册通晓更宏观的新闻。

详解mysql命令行给列起假名

7、使用安全更新防范苦难

7、使用安全更新防范悲惨

MySQL中SELECT命令的超过常规规用法

前方小编也提到,当表被意外删除时或许会引起恐惧,小编深信不疑不只有自身一人有周边的经历,除了一点都不小心推行了DROP TABLE外,更让人崩溃的是忽视WHERE子句的UPDATE命令,举个例子,假让你想行使上面包车型地铁通令修改用户的用户名:

前面笔者也涉及,当表被意外删除时恐怕会唤起恐惧,笔者相信不止自个儿一人有左近的阅历,除了一点都不小心推行了DROP TABLE外,更让人崩溃的是忽视WHERE子句的UPDATE命令,举例,若是你想使用上边包车型客车一声令下修改用户的用户名:

mysql命令行参数简单介绍

复制代码 代码如下:

复制代码 代码如下:

Mysql命令行导入sql数据的兑现

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

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

php mysql创立有的时候表

但当您冲忙地想出来吃饭时,恐怕忘记敲入前边的WHERE子句

但当您冲忙地想出去吃饭时,恐怕忘记敲入前面的WHERE子句

...

复制代码 代码如下:

复制代码 代码如下:

mysql>UPDATE users set User = 'wjgilmore';

mysql>UPDATE users set User = 'wjgilmore';

若果你按下回车,后果就异常的惨重,users表中负有用户的用户名全副被涂改为wjgilmore了,为了制止这种低档,但又会带来灾祸性后果的错误,请在配备文件中增多上边包车型客车命令:

假定您按下回车,后果就相当惨重,users表中具有用户的用户名全副被涂改为wjgilmore了,为了制止这种低等,但又会拉动灾害性后果的荒唐,请在布局文件中增多上面包车型大巴通令:

复制代码 代码如下:

复制代码 代码如下:

safe-updates

safe-updates

8、使用命令文书档案
多多用户都知道mysql客户端的嵌入文书档案,输入help命令时,它会来得一长串的下令列表。

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. ...

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. ...

假设你不明了DESCCRUISERIBE命令如何行使,只须求输入

倘让你不知晓DESCCRUISERIBE命令如何运用,只须求输入

复制代码 代码如下:

复制代码 代码如下:

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].) ...

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

9、使用Pager

一时你恐怕想查看表的某一行数据,但在显示屏上频仍会来得满屏的多少,除了运用LIMIT子句外,开启客户端pager,设置你的系统一分配页实用程序:

不时你大概想查看表的某一行数据,但在荧屏上反复会显得满屏的多少,除了行使LIMIT子句外,开启客户端pager,设置你的连串分页实用程序:

复制代码 代码如下:

复制代码 代码如下:

mysql>pager more PAGER set to 'more'

mysql>pager more PAGER set to 'more'

倘使要禁止使用pager,试行nopager命令就可以。

设若要禁止使用pager,实行nopager命令就可以。

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

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

您大概一时候必要将SQL施行结果输出到一个文本文件,能够应用SELECT INTO OUTFILE command命令达到目标,或间接在mysql客户端中启用tee命令,并制定输出文件落实均等的职能,如:

你也可以有的时候候须求将SQL实践结果输出到三个文书文件,能够利用SELECT INTO OUTFILE command命令到达目标,或直接在mysql客户端中启用tee命令,并制订输出文件贯彻平等的效益,如:

复制代码 代码如下:

复制代码 代码如下:

mysql>tee sales_report.txt

mysql>tee sales_report.txt

小结

小结

甭管你是挑选当中一部分照旧尝试那十一个技艺,它们都会为你节省大量的时间和生机,并会缓解你的痛心,假令你领会其余MySQL命令行技艺,不要紧在评头论足中同步分享一下呢!

不论是你是选用个中有的要么尝试那12个手艺,它们都会为你节省大批量的岁月和生命力,并会缓解你的伤心,如果您明白其余MySQL命令行技能,不妨在评头论足中齐声享受一下啊!

最初的作品出处:

原稿出处:

...

本文由www.bifa365365.com发布于数据库,转载请注明出处:MySQL客户端命令行应用工夫大全数据库,十二个节

关键词: www.bifa3653