(二) 初次使用MySQL

摘要
本文会围绕mysql会话来详细地介绍会话的获取、使用和终止的整个过程,主要包括:

  1. 登入mysql会话:通过mysql调用命令和身份凭证获取会话资格。
  2. 使用mysql会话:比如编写SQL语句、执行SQL语句和取消已执行的SQL语句。
  3. 登出mysql会话

此外,在文章的最后,还提供了快速调用mysql的几种方式,读者可根据自己的需要有选择地配置。

登入mysql会话

为了接入mysqld获取mysql会话,我们至少需要提供用户名和密码作为登录凭证,以便身份的合法性被MySQL服务器正确识别。

1. mysql会话调用命令介绍

  • 使用频率最高的调用命令:mysql -h 主机标识 -p -u 用户名

    下面普及一下mysql的调用命令:

    • mysql的调用命令mysql [选项]

    • 常用选项

      • -h: 服务器ip或域名。MySQL采用的是“C/S”架构,如果MySQL服务器运行在另一台计算机上,就需要在通信前提供连接对象。
      • -u-p:依次代表用户名、密码。因为出于数据安全考量,只有具备一定条件的人群,才具有连接服务器的一个身份凭证。
  • 相关说明

    1. 选项有短选项、长选项这两种表现形式,在命令行中任选其一填充。

      • -h 主机标识 对应–host=主机标识,
      • -u 用户名对应–user=用户名
      • -p对应–password=用户密码
    2. 关于选项值是否需要紧接在关键字之后。

      • -h-u:主机标识和用户名,可以紧接在关键字之后,或者关键字+空格之后。
      • -p:密码必须紧接在关键字之后,或者另外输入。这可能是因为密码可包含空格,如果不贴紧,就会出现很难区分哪个空格为密码。示例如-p123456,而不能是-p 123456或者-p 123456。
    3. 当我们在MySQL服务器上连接mysql会话时,加不加-h是没有差别的,因为缺省值是127.0.0.1。

2. 获取mysql会话

获取mysql会话,实际上是通过口令(请求方依据参数提供身份信息)实现mysql连接到mysqld,并维持一个对mysql而言是可操作的、对mysqld而言是可监听的沟通环境。

  • 操作步骤如下
    1. 输入调用命令,并回车执行(注意:将“主机名”和“用户名”对应地替换为自己的登录信息哦),会收到 Enter password: 提示符
    2. 输入密码,若密码无误,会获取到 mysql> 提示符

使用mysql会话

让mysqld响应请求,首先我们要正确地使用sql语言表达请求,其次是发送该请求。
一个完整的请求必须对应一个完整的语句。这意味着,我们需要先学会如何编写完整的的SQL语句。

1. 表达请求

表达请求,要求我们编写完整的SQL语句。
编写完整的SQL语句需要注意:在哪个位置使用内容分隔符,在哪个位置使用语句终止符
它们的功能类似于我们使用逗号(,)表示话尚未说完还待补充,使用句号(。)都表示话已说完。

  • 编写完整的SQL语句

    • 使用,分隔不同的内容
      语法上,当枚举的内容多于一个时,我们必须在语句中添加分号,来界定不同的内容、区分不同的列。

    • 使用 ; 或者 \g 或者 \G结束语句
      语法上,我们必须在语句结尾处添加以上的任意一个符号,来表达请求的有效范围。这三者在显示行数据方面略有不同:; 或者 \g以表格展示;\G以键值对展示,优点是解决了行内容过多时自动换行引发的可读性差问题,缺点是行与行之间的数据情况难以比较。

  • 清除输入的SQL语句

    • 使用 \c 废弃已输入的语句
      语法上,在语句结尾处添加\c。\c意为cancel,它在Backspace键难以使用的时候作用显著,尤其是当输错的内容有很多行时。
  • 查看提示
    上述讲述的内容均可进入mysql会话时能看到的提示,在第一行和最后一行。

2. 发送请求

发送请求,其实就是执行完整的SQL语句。

  • 执行SQL语句

    • 在会话中执行SQL
      当SQL语句被完整编写之后,我们就可以按下Enter键执行该语句。

    • 在shell中执行SQL语句(扩展)
      SQL语句除了在mysql会话中执行,也可以在shell中执行——通过mysql调用命令 + 脚本文件方式。从“懒人式连接”中,我们了解到命令的选项及参数、shell命令都可以配置为文件进行读取或调用,SQL语句同样也可以事先存储为到一个文件,之后再利用shell的重定向命令将文件内容提供给mysql命令执行。

  • 取消执行SQL语句
    借助shell的功能Ctrl+C键进行强制中断。

登出mysql会话

使用完MySQL之后,我们使用exit 或者 quit 或者 \q 登出mysql会话,中断与mysqld的连接。

懒人式连接

我们观察到,每次调用mysql登录命令,使用的都是相同的选项和参数。为此,我们考虑将它们存储到一个文件里面,之后再换个壳儿调用。具体如下:

  • 方式一,将选项和参数存储到一个配置文件,在调用命令时自动读取。
  • 方式二,将完整的命令另存为名称简洁的shell脚本,然后通过路径执行这个文件。
  • 方式三,给调用命令简短命名的快捷方式。

方式一:在主目录创建一个配置文件,保存长选项及对应的参数。

  • 实现步骤

    1. 首先,使用vi工具在主目录中创建一个配置文件。

      cd ~
      vi ~/.my.cnf
      
    2. 其次,在打开的文件编辑界面中按下i 键开启编辑模式。

    3. 接着,输入对应的长选项及其参数。

      [client]
      host=主机名
      user=用户名
      password=密码
      
    4. 然后,按下Esc,并输入:wq退出编辑模式,并保存已输入内容。

    5. 最后,配置文件权限为仅自己可读写。

      chmod 600 ~/.my.cnf
      

      说明:
      配置文件中的[client]作为一个选项组的开始标记,表示其后面所跟内容适用于客户端程序。
      配置文件中的长选项及其参数,需替换为读者自己的主机名、用户名及密码。

  • 验证步骤

    1. 重新打开命令行界面,输入mysql并回车。
    2. 如果配置的选项及其参数无误,就能获取到 mysql> 提示符。说明成功接入mysql会话,设置有效!

方式二:创建一个可执行shell脚本,保存调用命令。

  • 实现步骤

    1. 首先,使用vi工具创建一个shell脚本。这里将文件名命名为要打开的数据库的名称。 
      vi my.sh
      
    2. 其次,在打开的文件编辑界面中按下i 键开启编辑模式。
    3. 接着,输入完整的调用命令
      #! /bin/bash
      exec mysql -h 主机标识 -p密码 -u 用户名 数据库名
      
    4. 然后,按下Esc,并输入:wq退出编辑模式,并保存已输入内容。
    5. 最后,配置文件权限为为可执行。
      chmod +x ~/my.sh
      
  • 验证步骤

    1. 重新打开命令行界面,输入~/my.sh并回车。
    2. 如果命令的选项及其参数无误,就能获取到 mysql> 提示符。说明成功接入mysql会话,设置有效!

方式三:别名持久化设置
此处以bash为例。若读者使用其他shell,需将文件替换为该shell程序的启动文件即可。

  • 实现步骤

    1. 输入以下命令
      echo alias mysql='mysql -h主机标识 -p -u用户名' >> ~/.bashrc
      source ~/.bashrc
      
  • 验证步骤

    1. 重新打开命令行界面,输入~/my.sh并回车。
    2. 如果命令的选项及其参数无误,就能获取到 mysql> 提示符。说明成功接入mysql会话,设置有效!