如何通过命令行连接到 MySQL 数据库

已发表: 2021-05-31

MySQL 连接数据库命令行 在这篇文章中,我想与您逐步分享 MySQL 连接到数据库命令行指南,您可以按照该指南使用命令行连接到本地主机或远程服务器上的 MySQL 数据库。

在我们查看 MySQL 通过命令行连接到数据库的最佳方式之前,我想首先概述可用于连接到 MySQL 数据库的其他选项。

当您在 DigitalOcean 等云服务器上管理数据库时,从命令行连接到 MySQL 数据库可能是一项有用的技能。

在 DigitalOcean 上,您需要使用 DigitalOcean SSH 控制台登录 MySQL 数据库。 这篇文章是开始学习如何连接到数据库命令行技巧的好地方。

MySQL 数据库连接工具

首先,您需要了解 MySQL 安装在 localhost 服务器和远程服务器上,并且可以使用 PhpMyAdmin 或其他 MySQL 数据库管理工具等工具进行访问,这些工具包括以下内容:

  • PhpMyAdmin
  • SQLyog
  • 海蒂SQL
  • DB Forge Studio for MySQL
  • MySQL 工作台
  • MySQL 的 Toad Edge
  • Navicat for MySQL
  • 续集临

如果您只需要在共享主机环境中连接到 MySQL,您可以使用安装在大多数 Web 主机上的 PhpMyAdmin 来访问和管理 MySQL 数据库。

一些托管环境还带有用于创建和管理数据库的 MySQL 数据库管理向导。

MySQL 连接数据库命令行

要通过命令行连接到 MySQL 数据库,您需要按照以下步骤进行快速总结:

  1. 在 Windows 或 Mac 上打开终端或命令行
  2. 确保导航到根文件夹,或者最好使用将在正确文件夹中打开的 bash 之类的终端。
  3. 对于 Windows,您需要确保正确设置 MySQL 的环境变量,以避免出现“MySQL 未被识别为内部或外部命令”的错误。 如果您在本地主机上,则在开始连接数据库之前,您需要确保服务器正在运行,如下图所示:

MySQL 连接到数据库命令行 - 1

  1. 当终端打开时,一切设置正确,您现在应该通过命令提示符键入命令以连接到 MySQL,如下所示: mysql -u 用户名 -p 更改用户名和密码以匹配您的登录详细信息。 当您在终端上运行此命令时,它会提示您输入数据库的密码。 默认情况下localhost环境,用户名通常为root,密码为空: MySQL 连接到数据库命令行 - 2
  2. 连接后,您应该会看到上图中显示的消息,表明您已通过命令行连接到 MySQL 数据库。
  3. 您可以继续执行多个命令行命令以在 MySQL 数据库上运行更改。 例如,您可以从 show databases 命令开始,该命令将显示服务器上的所有数据库,如下图所示: MySQL 连接到数据库命令行 - 3 我的
  4. 以下是其他常见的 MySQL 命令行:

访问监控:mysql -u [用户名] -p; (将提示输入密码)

显示所有数据库:显示数据库;

访问数据库:mysql -u [用户名] -p [数据库](会提示输入密码)

创建新数据库:create database [database];

选择数据库:使用[数据库];

确定正在使用的数据库:select database();

显示所有表格:显示表格;

显示表结构:describe [table];

列出表上的所有索引:show index from [table];

创建具有列的新表:CREATE TABLE [table] ([column] VARCHAR(120), [another-column] DATETIME);

添加列: ALTER TABLE [table] ADD COLUMN [column] VARCHAR(120);

添加具有唯一、自动递增 ID 的列: ALTER TABLE [table] ADD COLUMN [column] int NOT NULL AUTO_INCREMENT PRIMARY KEY;

插入记录:INSERT INTO [table] ([column], [column]) VALUES ('[value]', '[value]');

用于日期时间输入的 MySQL 函数:NOW()

选择记录:SELECT * FROM [table];

解释记录:EXPLAIN SELECT * FROM [table];

选择部分记录:SELECT [column], [another-column] FROM [table];

统计记录:SELECT COUNT([column]) FROM [table];

统计和选择分组记录:SELECT *, (SELECT COUNT([column]) FROM [table]) AS count FROM [table] GROUP BY [column];

选择特定记录:SELECT * FROM [table] WHERE [column] = [value]; (选择器:<、>、!=;将多个选择器与 AND、OR 组合)

选择包含[value]的记录:SELECT * FROM [table] WHERE [column] LIKE '%[value]%';

选择以 [value] 开头的记录: SELECT * FROM [table] WHERE [column] LIKE '[value]%';

选择以 val 开头并以 ue 结尾的记录: SELECT * FROM [table] WHERE [column] LIKE '[val_ue]';

选择一个范围:SELECT * FROM [table] WHERE [column] BETWEEN [value1] and [value2];

选择自定义订单且仅限制:SELECT * FROM [table] WHERE [column] ORDER BY [column] ASC LIMIT [value]; (顺序:DESC、ASC)

更新记录:UPDATE [table] SET [column] = '[updated-value]' WHERE [column] = [value];

删除记录:DELETE FROM [table] WHERE [column] = [value];

从表中删除所有记录(不删除表本身):DELETE FROM [table]; (这也会重置自动生成的列(如 id 列)的递增计数器。)

删除一个表中的所有记录:truncate table [table];

删除表列:ALTER TABLE [table] DROP COLUMN [column];

删除表:DROP TABLE [table];

删除数据库:DROP DATABASE [database];

自定义列输出名称:SELECT [column] AS [custom-column] FROM [table];

导出数据库转储(更多信息在这里):mysqldump -u [username] -p [database] > db_backup.sql

使用 –lock-tables=false 选项锁定表(更多信息在这里)。

导入数据库转储(更多信息在这里): mysql -u [username] -p -h localhost [database] < db_backup.sql

注销:退出;

您可以从这些 MySQL 命令备忘单的源代码中查看更多命令

结论

在这篇文章中,我与您分享了从命令行连接到 MySQL 数据库的方法,并逐步向您展示。 这篇文章的内容应该是你用来从命令行连接到 MySQL 数据库的命令是 MySQL -u username -p。 您应该始终记住数据库的用户名和密码,才能使该命令正常工作。

最后,如果您在 localhost 环境中,请不要忘记用户名主要是“root”并且用户名是空的。