跳到主要内容

1.3 连接 MySQL 与客户端工具

📖 本节导读​

学完本节你将掌握:

  • 用命令行连接 MySQL,理解 -h -P -u -p 各参数的含义
  • 在 MySQL 提示符下执行第一批 SQL 命令并看懂输出
  • SQL 语句的基本书写规则(分号结尾、大小写不敏感等)
  • 主流图形化客户端工具的特点与选择建议

一、什么是"连接"数据库?​

上一节我们把 MySQL 装好了,它现在正作为一个服务在后台默默运行,就像一家 24 小时营业的银行。但银行开着门不等于你已经在办业务——你还得走进去、出示身份,才能开始存取款。

"连接(Connect)"数据库,就是这个"走进去并出示身份"的过程:客户端程序找到 MySQL 服务,提供用户名和密码,验证通过后建立一条会话通道,之后你发出的每条 SQL 命令都通过这条通道执行。

帮你连接数据库的程序叫客户端(Client),它分两类:

  • 命令行客户端:安装 MySQL 时自带的 mysql 命令,纯文字界面
  • 图形化客户端:如 Workbench、Navicat、DBeaver,鼠标点点点的可视化界面

我们先学命令行——它最原始,但最能帮你理解本质,而且任何服务器环境都有它。

二、用命令行连接 MySQL​

1. 最常用的连接命令​

打开命令行窗口,输入:

mysql -u root -p

回车后会提示 Enter password:,输入你安装时设置的 root 密码(输入时屏幕上不会显示任何字符,这是正常的安全设计,不是键盘坏了),再回车。

2. 各参数含义​

完整形式的连接命令长这样:

mysql -h 127.0.0.1 -P 3306 -u root -p
参数含义说明
-hhost,主机地址要连接的 MySQL 在哪台电脑上。连本机时是 localhost 或 127.0.0.1,可省略
-PPort,端口号大写 P。默认 3306,没改过端口就可省略
-uuser,用户名用哪个账号登录,目前我们只有超级管理员 root
-ppassword,密码小写 p。表示"我要输入密码",回车后再单独输入

因为 -h 和 -P 都有默认值,所以连接本机时通常简写为 mysql -u root -p。

小提示:-p 后面其实可以直接跟密码(如 -p123456,中间不能有空格),但密码会明晃晃地留在屏幕和历史记录里,不推荐。养成回车后单独输入密码的好习惯。

3. 连接成功后长什么样?​

验证通过后,你会看到一段欢迎信息:

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.36 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

注意最后一行的 mysql>——这就是 MySQL 的命令提示符,表示"我在听,请下命令"。从现在起,你输入的内容都会被当作 SQL 语句交给 MySQL 执行。

4. 如何退出?​

在 mysql> 提示符下输入以下任意一个并回车:

exit

或

quit

看到 Bye 就表示已断开连接,回到了普通命令行。放心,退出只是"离开银行大厅",MySQL 服务本身仍在后台运行,数据不会丢。

三、第一批体验命令​

连接成功后,来执行几条最简单的 SQL,感受一下和数据库"对话"。

1. 查看 MySQL 版本​

SELECT VERSION();

输出:

+-----------+
| VERSION() |
+-----------+
| 8.0.36 |
+-----------+
1 row in set (0.00 sec)

2. 查看当前时间​

SELECT NOW();

输出:

+---------------------+
| NOW() |
+---------------------+
| 2026-07-26 15:30:08 |
+---------------------+
1 row in set (0.00 sec)

3. 查看有哪些数据库​

SHOW DATABASES;

输出:

+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)

看懂这个输出:

  • +----+ 围成的表格就是查询结果,最后一行 4 rows in set (0.01 sec) 表示"共 4 行结果,耗时 0.01 秒"
  • 这 4 个库是 MySQL 自带的系统数据库,存放 MySQL 自身运行所需的信息,新手不要动它们,看看就好
  • 我们以后创建的数据库也会出现在这个列表里

能顺利跑出以上三条命令,说明你的 MySQL 环境已经完全就绪!

四、SQL 书写基本规则​

趁热打铁,记住几条 SQL 的"交通规则":

  • 以分号 ; 结尾:分号表示"这条语句说完了,请执行"。如果回车后没反应、提示符变成了 ->,说明 MySQL 还在等你说完——补一个 ; 回车即可。
  • 关键字大小写不敏感:SELECT NOW();、select now();、Select Now(); 效果完全相同。惯例是关键字大写、其他内容小写(如 SELECT * FROM students;),可读性最好,本教程遵循这一风格。
  • 可以换行书写:一条长 SQL 可以拆成多行输入,MySQL 只认分号,遇到分号才执行。
  • 字符串用引号包裹:以后写到具体数据时,文本内容要用单引号,如 '张三'。
  • 写错了怎么办:还没回车就用退格键改;已经另起一行了可以输入 \c 取消当前语句重来。

五、图形化客户端工具​

命令行虽然本质,但看大量数据时并不直观。图形化工具把数据库、表、数据用可视化界面呈现出来,点几下鼠标就能浏览和编辑。常见的有:

1. MySQL Workbench​

MySQL 官方出品,免费。功能全面,包含 SQL 编辑器、表设计器、数据建模等。界面为英文,风格偏工程师向,官方 Installer 可以顺带安装。

2. Navicat​

老牌商业软件,界面精美、中文友好、操作最傻瓜化,深受国内开发者喜爱。缺点是收费(有 14 天试用期)。

3. DBeaver​

免费开源,支持 MySQL、PostgreSQL、Oracle 等几乎所有数据库,一个工具通吃。社区版功能对新手完全够用,是"白嫖党"的最佳选择。

4. VS Code 插件​

如果你已经在用 VS Code 写代码,可以装 MySQL Shell for VS Code、Database Client 等插件,在编辑器里直接连数据库、跑 SQL,不用切换软件,轻量方便。

新手怎么选?​

建议采用 "命令行 + 一个图形化工具" 的组合:

  • 学习 SQL 语法时优先用命令行:亲手敲每一条语句,才能真正记住语法、理解原理,面试和登录服务器时也离不开它
  • 浏览数据、检查结果时用图形化工具:直观省力
  • 图形化工具推荐:预算充足或公司已购买就用 Navicat;想要免费的选 DBeaver 或官方 Workbench

各工具的连接配置本质相同:填写主机(localhost)、端口(3306)、用户名(root)、密码——正是命令行 -h -P -u -p 四个参数对应的信息。理解了命令行连接,图形化工具的连接配置你自然也就会填了。

⚠️ 新手常见坑​

  • 输入密码时以为键盘失灵:Enter password: 后输入的内容不会显示(连星号都没有),正常输入完回车即可。
  • 语句没写分号,提示符变成 -> 就慌了:这不是报错,是 MySQL 在等你说完,补个 ; 回车即可;想放弃这条语句就输入 \c。
  • -P 和 -p 分不清:大写 -P 是端口,小写 -p 是密码,命令行参数区分大小写。
  • 报错 Access denied for user 'root'@'localhost':密码输错了,重新连接再输一次;反复失败就参考上一节的重置密码方法。
  • 报错 Can't connect to MySQL server:MySQL 服务没启动,先去启动服务(Windows:net start mysql80)。
  • 手痒去改系统数据库:mysql、sys 等系统库是 MySQL 的"内脏",删改可能导致整个 MySQL 瘫痪。

📝 小结​

  • 连接命令:mysql -h 主机 -P 端口 -u 用户名 -p,连本机可简写为 mysql -u root -p
  • 连接成功出现 mysql> 提示符;exit 或 quit 退出
  • 三条体验命令:SELECT VERSION(); 查版本、SELECT NOW(); 查时间、SHOW DATABASES; 列出所有数据库
  • SQL 规则:分号结尾、关键字大小写不敏感(惯例大写)、可换行书写
  • 图形化工具:Workbench(官方免费)、Navicat(收费好用)、DBeaver(免费全能)、VS Code 插件(轻量);推荐"命令行 + 一个图形工具"搭配学习

到这里,"入门准备"部分就全部完成了:你已经理解了数据库是什么、装好了 MySQL、也成功连上并执行了第一批 SQL。下一章我们将创建自己的第一个数据库,正式开始 SQL 之旅!

✍️ 练习题​

1. 写出连接本机 MySQL 的最简命令,并说明其中每个参数的含义。

参考答案

mysql -u root -p。其中 -u root 指定以 root 用户登录;-p 表示需要输入密码(回车后单独输入)。因为连的是本机默认端口,-h localhost 和 -P 3306 使用了默认值,可以省略。

2. 如果 MySQL 装在另一台 IP 为 192.168.1.100 的电脑上,端口改成了 3307,连接命令该怎么写?

参考答案

mysql -h 192.168.1.100 -P 3307 -u root -p。注意端口用大写 -P,密码用小写 -p。

3. 在 mysql> 提示符下输入 select now() 后回车,提示符变成了 ->,这是怎么回事?该怎么办?

参考答案

这不是错误。SQL 语句必须以分号 ; 结尾,没输分号时 MySQL 认为语句还没说完,用 -> 提示你继续输入。此时补输入 ; 并回车即可执行;如果想放弃这条语句,输入 \c 取消。

4. 判断对错:SELECT VERSION(); 和 select version(); 执行结果不同,因为 SQL 区分大小写。

参考答案

错。SQL 关键字和函数名大小写不敏感,两条语句效果完全相同。不过业界惯例是关键字大写以增强可读性。(注意:命令行的连接参数如 -p/-P 是区分大小写的,别和 SQL 语句混淆。)

5. 全新安装的 MySQL 执行 SHOW DATABASES; 会看到哪几个数据库?我们可以随意修改它们吗?

参考答案

会看到 4 个系统自带数据库:information_schema、mysql、performance_schema、sys。它们存放 MySQL 自身运行所需的元数据和配置信息,不能随意修改或删除,否则可能导致 MySQL 无法正常工作。