mysql学习需要连接服务器吗_从零开始学MySQL(三) MySQL客户端与服务器端的互动...

上上节篇幅以安装为主,上篇则只讲述术语、基础知识,因此只略微提及了调用或使用mysql所需要使用的“命令”,相信不少小伙伴都有如隔靴搔痒一般。

① 比如带给读者诸多不解了,因为你会思考:

——“mysql -p -u root -h 服务器地址”这串长长的字符到底有什么特殊的含义,竟打开了MySQL的大门?聪明的你可能早就抱着好奇心自行“摆渡”了。而答案不过是在连接mysql服务器时,应当使用的  “身份验证”  这一把钥匙罢了。

——因输入错误但尚未执行,或已执行了的语句,想取消该状态,有何解?

② 另外一个情境是,先前笔者每每登录总是需要键入相同的多个字符,如‘mysql -p -uroot -h......(此处省略更多参数)’,久而久之就对于“这些连接参数造成的重复工作”不胜其烦。既然无法跳过“身份验证”这一环节,那么能否适当减少文本的输入量呢?

本节,我们就致力解决这两个问题吧。

这里相当于是对上上节的补充,如果想将只是体系梳理完整,还请您务必这么想——因为知识就是从已知中发现未知,从而进行扩展的,对吧?

-------------------------------------------------------------------------------------------

本文的规则:黑色字体为正常步骤,红色字体为希望能引起读者的注意,笔者用意大致是出于“警示”或“引导”这两种。

本文阅读建议:因分节(一)、分节(二)介绍的知识在所有系统上通用,建议详读;而分节(三)则是面向Linux系统,建议心有余力的小伙伴可以读一下。想要对此有所了解的读者应先浏览一下大致的模块,然后根据自己的需要选择相应方法,详细看一遍后进行尝试。在这里也提一下,对于Windows系统,其实现方法是差不多的,只要将调用mysql的命令及参数整合进环境变量或.bat(批处理文件)即可,故不做过多的介绍。

本文概览:

(一)连接MySQL

(二)执行或清除已输入的SQL语句

(三)在连接MySQL上“偷懒”(选读)

若本文出现错误或有所遗漏等问题,还请读者指出,鄙人不胜感激。

-------------------------------------------------------------------------------------------

(一)连接MySQL

(1)身份验证:使用MySQL之前,需按要求提供足够的信息作为登录凭证。

调用mysql所使用的命令提示符为:mysql [option]

mysql -h 主机名 -p -u 用户名

PS: 上面的命令形式较为常见,因为至少需要指定用户名和密码(这是下限。如果在调用mysql时提供了更多的选项,往往是因为为了让mysqld响应更多的需求)。

① 关于-h:MySQL采用的是“C/S”体系结构,因此在通信前,需要先使客户端与服务器保持连接状态。有鉴于此,当我们直接在服务器上运行时,加不加-h便无所谓了,因为默认是127.0.0.1或者说是localhost嘛。(这样,通过-h来指定服务器的ip或名称就不难理解了吧。)

② 关于-p和-u:用户和密码只是您登录服务器的一个安全凭证。(试想,如果陌生人可以随意进入你家,那不就乱套了么?以此类比,也不是随随便便就可以让所有人进入数据库的。因此出于安全考虑,你说-p和-u是不是很有必要呢?)

这里需要注意的是:参照-h和-u,密码也是可以直接输入的,但密码应该“紧跟在-p后面”,如-p123456,而不是-p 123456。而-h和-u后面的内容既可以贴紧关键字也可以先空一格再输入内容。(有些小伙伴就纠结为什么?那你这样想就可以了:别人很容易就能获悉服务器名和你的账户名,但你的密码也是公开的么?它们的性质肯定不一样,因材施教呗。)

对于多用户操作系统,不建议直接在shell中输入密码。

这里还需指出,您也可以将-h 主机名换为--host=主机名,将-p换为--password=用户密码,将-u 用户名换为--user=用户名。

ps: 登录时,记得将主机名和用户名换成你自己的哟。键入上述命令并回车,你将会收到“Enter password: ”的提示,密码输入无误便可继续收到“mysql> ”,这就意味这我们连接上服务器了。

(2)终止会话:使用MySQL之后,想要退出怎么办?通常是使用完毕,

只要掌握下面命令中的其中一个,你就可以随时退出咯。

1 quit

2 exit

3 \q

(二)执行或清除已输入的SQL语句

鉴于前面已经讲过客户端链接到服务器端的内容,因此下面不再赘述。若是小伙伴们有所遗忘,还请回头翻看一下。

(1) 如何在mysql里执行或取消执行SQL语句?( 只有输入“完整”,才能被程序正确识别,就像使其有了“可执行”的标识一样 )

① 执行是事前操作:在语句的结尾处添加一个分号(;),并按下Enter键

② 中断执行是事后操作:只能借助shell的功能Ctrl+D键 或 Ctrl+C键进行强制拦截。

但要注意,在mysql中,只能用英文状态下的分号、逗号,否则还没有将其发送至mysqld,就直接先被语法解析器拦截下来了。(因为代码都是字母组合,外国先入为主对吧?)

① 分号( ; )用于语句的分隔。

和我们平时使用句号( 。)的作用一样,标志这语句的结束。只有这样,mysqld才清晰了你此次就想查询这么多的内容,是吧?

② 逗号( , )用于字段的分隔。

和我们平时使用逗号(,)的作用一样,表示这语句尚未说完,后面可添加更多的字段充当内容。

ps:对于上面所言,其实也无需特别记忆,因为后面在查询或是进行其他事务操作,我们都会经常用到。只是不经意间疏忽了而已。

除了分号( ; ),还有另外的终止语句的方法:\g、\G。且它们的用法是相同的——将其放在语句的尾部即可。

① \g 的意思是go。显示查询结果与分号( ; )相同。

② \G 会以“垂直”的方式显示查询结果,每行显示一个值。这在输出结果中,每一行包含的列数较多时尤为有用,因为受限于显示器界面的大小。缺点是不好与其他行的数据进行比较。

(2)如何在mysql里清除那些已输入了的语句?(应当注意,清除执行语句与取消执行语句的区别,您输入语句但尚未按下回车才属于前者。一旦按下回车,由于服务器响应迅速,这意味后续只能使用shell的功能Ctrl+D或Ctrl+C来对其进行取消了)

① 使用Backspace键进行回退(不通用)。但这个方法有很大的局限性,因为只有当你输入一行时尚可如此做,当输入了多行,就只能清除最下面的一行。ps:输入多行时,除了第一行的提示符为mysql> ,其他行都是-> 。

② 使用 \c 取消语句的执行(通用)。\c的意思是cancel。

(3) 实战演练:

① 使用分号( ; )和 \G作为语句的结束标志。至于\g,请读者自行尝试。

8766505e320eab0aa1292ad267849aed.png

②同一行中可以置放多个语句,使用分号( ; )隔开。想不通为什么这样做可行,就联想下中文句号在同一行中是否可以使用多次即可。

c06cf4c3ca2f49ada6c887efbb1ec66c.png

ps:与创建选项文件一样,多个语句可以被存储在一个SQL脚本中,之后再利用shell的重定向功能就能执行脚本里面的语句了。在这先卖个关子,用到之时再做讲解。

(4)记不住那么多怎么办?答曰:学会观察!且看到下面第一行和最后一行那“赤裸裸的提示”:

21077e1cbdc4ed7d93de09e24c2991df.png

小结:

每次执行语句,都是一次事务提交——mysql向mysqld发起了一次请求,告知要对数据库文件进行什么操作。(具体什么是事务,后面学到自会讲解。若受好奇心驱使,还请“摆渡”)

从连接服务器,到与mysql进行交互,这个过程无异于我们使用电脑浏览器查询相关信息。其中,浏览器是电脑客户端的一个代理,通过搜索引擎等一些手段可以向存储相关网页的服务器发起查询。

(三)在连接MySQL上“偷懒”(选读)

由于每次连接MySQL都需要使用相似的连接参数,如何减少重复性劳作就显得相当重要了。

(1)将常用的连接参数事先存储在主目录的一个选项文件里,据此轻松连接。

I. 如何实现:

① 首先,需要创建一个配置文件。比如利用快捷键Ctrl + Alt + T打开命令行界面,并使用vi工具进行这一步骤:

vi ~/.my.cnf

② 其次,需要在配置文件中输入好如下相关信息。按照上面的步骤,则此处应按下i键开启插入模式,并将下述的主机名、用户名、密码这几个占位符替换为你自己的:

[client]

host=主机名

user=用户名

password=密码

额外说明:选项文件中的[client]是一个选项组。它作为选项组的开始标记,表示该组名后面的所有选项都适用于所有的客户端程序。

其他选项参数可根据需要增减。比如是要连接到本地运行的mysqld服务器,则无需加入host=主机名这个参数。get到了吗?

③ 接着,保存并退出文件编辑界面——先按下:,再输入 wq。

④ 最后,将文件权限设定为仅自己可读写。

chmod 600 ~/.my.cnf

II. 如何测试:

如果你按照上面操作,那么之后在命令行界面键入mysql可直接进入会话界面的话,说明设置有效!

(2)利用shell的history命令功能,输入重复命令。

这里需要用到的命令是:感叹号字符(! ),如  !my  或  !# 均可以。

①如果使用是!#,#需要您使用数字来进行替换。但您可能需要先通过history可以查询到是第几个命令。

② 如果使用!my,要确保以“my”这两个字符足够使得shell找到以my开头的命令,我们的目标是最近调用mysql这行命令。

③ 若为上一个命令,可直接键入!!。

(3)利用shell别名或脚本定义一个mysql命令行快捷方式。

I. 别名:

这里需要用到的命令是:alias ,如alias='mysql -h主机名 -p -u用户名'。请注意alias为内建命令,因此只在当前的shell进程生效。要使其永久生效,还需将它配置到shell程序的启动文件里。若读者账户的默认sh为bash,那么就是.bashrc或.bash_profile文件了。(这里不做过多描述,感兴趣的小伙伴可以自行“摆渡”一下)

II. 脚本:

① 首先,使用vi工具创建一个以.sh为后缀的文件。这里将文件名命名为要打开的数据库的名称。

vi 数据库名.sh

② 其次,按下i键,并输入如下内容(注意将主机名、用户名、数据库名换成你自己的):

#! /bin/bash

exec mysql-h 主机名 -p -u 用户名 数据库名

③ 最后,将文件设置为可执行文件。

chmod +x 数据库名.sh

在命令行中输入该文件名称(注意:需要切换到文件所在目录),即可启动mysql并连接到相关的数据库了。大功告成!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL是一个开源的关系型数据库管理系统,广泛应用于各种网站和应用程序的数据存储和管理中。学习MySQL可以帮助我们掌握数据库设计、数据查询和数据管理等技能。 从零开始学习MySQL,可以通过以下步骤进行: 1. 下载MySQL:首先需要MySQL官网下载MySQL的安装包。根据自己的操作系统选择相应的版本,下载并安装在本地机器上。 2. 安装和配置MySQL:安装MySQL时,可以根据安装向导进行设置。包括选择安装路径、配置root用户的密码等。 3. 启动MySQL服务:安装完成后,可以通过启动MySQL服务来运行数据库。在命令行输入"mysqld"或通过MySQL Workbench等工具启动。 4. 连接MySQL:使用客户端工具连接MySQL数据库。可以使用命令行工具(如mysql命令行)、MySQL Workbench、SQLyog等工具,输入正确的连接信息(主机名、端口号、用户名、密码等)。 5. 学习SQL语言:MySQL使用结构化查询语言(SQL)进行数据的增删改查。学习SQL语言是使用MySQL的关键。可以通过各种教程、视频、书籍等方式学习SQL语法和查询技巧。 6. 创建和管理数据库:使用SQL语句可以创建数据库、创建表、定义字段和数据类型等。学习如何正确地进行数据库设计和管理,能够提高数据的存储效率和查询性能。 7. 数据查询和操作:通过SQL语句可以对数据库中的数据进行查询、插入、更新和删除等操作。学习基本的查询语句,如SELECT、INSERT、UPDATE、DELETE等,以及一些高级查询语句,如JOIN、WHERE、GROUP BY等,可以更灵活地使用MySQL。 8. 数据备份和恢复:学习如何进行数据备份和恢复是MySQL使用中的重要环节。了解如何使用mysqldump命令进行数据备份和如何使用备份文件进行数据恢复是必备的技能。 总结起来,学习MySQL需要下载安装MySQL学习SQL语言,了解数据库设计和管理的基本原则,并熟悉常用的数据查询和操作。通过不断实践和积累经验,能够更加熟练地使用MySQL进行数据存储和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值