课程 › 第 3 章 › 实验一
第 3 章 · 实验一 · 在第四节之后

连接 MySQL

在 Workbench 和命令提示符中连接 MySQL,查看有哪些数据库、服务器的端口和数据文件夹,再用 SELECT 做几个计算。

环 境

自己电脑上的 MySQL 8.0 和 MySQL Workbench,也可以用机房的电脑。实验 1-2、1-3 在命令提示符中进行,其余在 Workbench 中进行。

执 行

Workbench 中按 Ctrl+Enter 执行光标所在的一句。命令提示符和 mysql> 提示符中,每输入一行按 Enter。

注 意

输入法切到英文。提示输入口令时,输入安装时给 root 设置的口令,屏幕上不显示。

本次实验的顺序 后一个实验用到前一个的结果

  1. 实验 1-1在 Workbench 中连接
  2. 实验 1-2命令行连接
  3. 实验 1-3指定主机和端口
  4. 实验 1-4查看数据库和表
  5. 实验 1-5端口和数据文件夹
  6. 实验 1-6用 SELECT 计算
第一步

数据准备(必做)

本实验不需要准备数据。连上 MySQL 以后先执行这一句,能看到版本号 8.0.xx 就说明服务正常。

Workbench 整段复制,全部执行下载 .sql
SELECT VERSION();
1-1

在 Workbench 中连接

讲义 · 连接 MySQL
目的
打开 MySQL Workbench,连接本机的 MySQL,执行第一条 SQL 语句。
前提
已安装 MySQL 8.0 和 Workbench,记得 root 的口令。
  1. 打开 Workbench,单击 Local instance MySQL80,输入口令
  2. 在 SQL 编辑区输入语句,按 Ctrl+Enter 执行
  3. 查看当前用户和当前时间

参考答案

可以直接复制到 Workbench 执行
SELECT CURRENT_USER(), NOW();

语句解释

Local instance MySQL80Workbench 中本机 MySQL 的连接。第一次连接时输入口令,可以勾选保存口令
CURRENT_USER()当前连接使用的用户
NOW()服务器当前的日期和时间
分号一条语句以分号结束
执行后看:结果为 root@localhost 和当前的日期时间。
1-2

命令行连接

讲义 · 连接 MySQL
目的
在命令提示符中进入 MySQL 的 bin 文件夹,用 mysql 命令连接,查看版本和数据库。
前提
已完成实验 1-1。
  1. 按 Win+R,输入 cmd 打开命令提示符
  2. 进入 bin 文件夹,执行 mysql -u root -p,输入口令
  3. 在 mysql> 提示符后执行两条语句,最后输入 exit 退出

参考答案

命令提示符 一次复制一行
cd /d "C:\Program Files\MySQL\MySQL Server 8.0\bin"
mysql -u root -p
mysql> 提示符后 一次复制一行
SELECT VERSION();
SHOW DATABASES;

语句解释

cd /d进入指定的文件夹,/d 表示可以同时换盘符
mysql -u root -p以 root 用户连接。按 Enter 后输入口令,输入时屏幕上不显示
SHOW DATABASES列出服务器上的数据库
exit断开连接,回到命令提示符
提示不是内部或外部命令没有进入 bin 文件夹。MySQL 装在别的位置时,按实际的位置修改 cd 后面的路径
执行后看:出现 mysql> 提示符。SHOW DATABASES 至少列出 information_schema、mysql、performance_schema、sys 四个系统数据库。
1-3

指定主机和端口

讲义 · 连接 MySQL
目的
用完整的写法连接:写出主机、端口和用户名,再查看当前用户。
前提
已完成实验 1-2,命令提示符已经在 bin 文件夹中。
  1. 执行 mysql -h 127.0.0.1 -P 3306 -u root -p,输入口令
  2. 查看当前用户
  3. 输入 exit 退出

参考答案

命令提示符
mysql -h 127.0.0.1 -P 3306 -u root -p
mysql> 提示符后
SELECT USER(), CURRENT_USER();

语句解释

-h 127.0.0.1127.0.0.1 表示本机,也可以写 localhost
-P 3306大写的 P 是端口,小写的 p 是口令
USER()客户端用来连接的用户名和主机
执行后看:两列都以 root@ 开头,@ 后面是本机,例如 root@localhost。
1-4

查看数据库和表

讲义 · 连接 MySQL
目的
查看服务器上的数据库,打开系统数据库 mysql,看看里面有哪些表,再查一下有哪些用户。
前提
已完成实验 1-3,回到 Workbench 中执行。
  1. 查看全部数据库
  2. 用 USE 打开 mysql 数据库,查看其中的表
  3. 查询 user 表中的用户名和主机

参考答案

可以直接复制到 Workbench 执行
SHOW DATABASES;
USE mysql;
SHOW TABLES;
SELECT user, host FROM user;

语句解释

USE mysql把 mysql 设为当前数据库,后面的语句都在这个库中执行
SHOW TABLES列出当前数据库中的表
user 表保存 MySQL 的用户,第 8 章会详细讲
执行后看:mysql 库中有几十张表。user 表中有 root,还有几个以 mysql. 开头的系统用户。
1-5

端口和数据文件夹

讲义 · 配置 MySQL 服务器
目的
查看服务器的端口和数据文件夹,与安装时的配置对照。
前提
已完成实验 1-4。
  1. 用 SHOW VARIABLES 查看 port 和 datadir
  2. 用 SELECT 读取这两个变量

参考答案

可以直接复制到 Workbench 执行
SHOW VARIABLES LIKE 'port';
SHOW VARIABLES LIKE 'datadir';
SELECT @@port, @@datadir;

语句解释

SHOW VARIABLES查看系统变量,LIKE 后面写变量名
port服务器的端口,安装时设置的 3306
datadir数据文件夹,每个数据库在这里有一个同名的文件夹
@@变量名在 SELECT 中读取系统变量的值
执行后看:port 为 3306。datadir 一般是 C:\ProgramData\MySQL\MySQL Server 8.0\Data\,以本机的结果为准。
1-6

用 SELECT 计算

讲义 · SQL 语言的分类
目的
不查询任何表,用 SELECT 计算几个表达式,体会 SQL 语句的写法。
前提
已完成实验 1-5。
  1. 计算加法、除法、整除和求余数
  2. 连接字符串,求字符串的长度,转为大写

参考答案

可以直接复制到 Workbench 执行
SELECT 1 + 2, 10 / 3, 10 DIV 3, 10 MOD 3;
SELECT CONCAT('数据库', '原理'), LENGTH('MySQL'), UPPER('mysql');

语句解释

10 / 3除法,结果为 3.3333
DIV 和 MOD整除和求余数
CONCAT把几个字符串连成一个
LENGTH字符串的长度,按字节计算
执行后看:第一句得到 3、3.3333、3、1。第二句得到 数据库原理、5、MYSQL。
保山学院·人工智能教研室·曹鼎鼎