首页 数字经济

MySQL 常用命令速查手册:十年架构师经验总结

分类:数字经济
字数: (1022)
阅读: (4427)
内容摘要:MySQL 常用命令速查手册:十年架构师经验总结,

在实际的开发和运维工作中,我们经常需要与 MySQL 数据库打交道。无论是进行数据查询、数据导入导出、还是数据库的备份恢复,都需要用到各种各样的 MySQL 命令。很多开发者经常需要 Google 这些命令,效率不高。本文将总结 MySQL 常用命令,并提供详细的示例和注意事项,帮助大家提高工作效率。

基础连接与认证

首先,我们需要连接到 MySQL 服务器。最常用的命令是 mysql 命令。

mysql -u 用户名 -p 密码 -h 主机名 -P 端口号
  • -u:指定用户名。
  • -p:指定密码。为了安全起见,建议在提示符下输入密码,而不是直接在命令行中输入。
  • -h:指定主机名。如果是本地服务器,可以省略或使用 localhost
  • -P:指定端口号。默认端口号是 3306,如果 MySQL 服务器使用了非默认端口,需要指定。

如果密码存储在环境变量中,可以使用以下方式连接:

mysql --login-path=local

需要在 .my.cnf 文件中配置 login-path

数据库管理

连接到 MySQL 服务器后,我们可以进行数据库的管理操作,例如创建、删除、选择数据库等。

创建数据库

CREATE DATABASE 数据库名;

例如:

CREATE DATABASE my_database;

删除数据库

注意:删除数据库会删除数据库中的所有数据,请谨慎操作。

DROP DATABASE 数据库名;

例如:

MySQL 常用命令速查手册:十年架构师经验总结
DROP DATABASE my_database;

选择数据库

USE 数据库名;

例如:

USE my_database;

查看数据库列表

SHOW DATABASES;

表管理

表是数据库中存储数据的基本单元。我们可以使用 MySQL 命令进行表的创建、删除、修改等操作。

创建表

CREATE TABLE 表名 (
    列名 数据类型 [约束],
    ...
);

例如:

CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(255) NOT NULL,
    email VARCHAR(255) UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

删除表

注意:删除表会删除表中的所有数据,请谨慎操作。

DROP TABLE 表名;

例如:

DROP TABLE users;

修改表结构

可以使用 ALTER TABLE 命令修改表结构,例如添加列、删除列、修改列的数据类型等。

添加列:

MySQL 常用命令速查手册:十年架构师经验总结
ALTER TABLE 表名 ADD 列名 数据类型 [约束];

例如:

ALTER TABLE users ADD phone VARCHAR(20);

删除列:

ALTER TABLE 表名 DROP COLUMN 列名;

例如:

ALTER TABLE users DROP COLUMN phone;

修改列的数据类型:

ALTER TABLE 表名 MODIFY COLUMN 列名 数据类型 [约束];

例如:

ALTER TABLE users MODIFY COLUMN username VARCHAR(50);

查看表结构

DESCRIBE 表名;

或者

SHOW COLUMNS FROM 表名;

例如:

MySQL 常用命令速查手册:十年架构师经验总结
DESCRIBE users;

数据操作(CRUD)

CRUD 是 Create, Read, Update, Delete 的缩写,分别对应数据的创建、读取、更新和删除操作。

插入数据

INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);

例如:

INSERT INTO users (username, email) VALUES ('testuser', 'test@example.com');

查询数据

SELECT 列名1, 列名2, ... FROM 表名 [WHERE 条件] [ORDER BY 列名 [ASC|DESC]] [LIMIT [offset,] row_count];

例如:

SELECT * FROM users;
SELECT username, email FROM users WHERE id = 1;
SELECT * FROM users ORDER BY created_at DESC LIMIT 10;

更新数据

UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2, ... WHERE 条件;

例如:

UPDATE users SET email = 'new_email@example.com' WHERE id = 1;

删除数据

注意:删除数据会永久删除,请谨慎操作。

DELETE FROM 表名 WHERE 条件;

例如:

DELETE FROM users WHERE id = 1;

实战避坑:慢查询优化

在实际使用中,经常会遇到慢查询的问题。可以使用 EXPLAIN 命令分析 SQL 语句的执行计划,找出性能瓶颈。例如:

MySQL 常用命令速查手册:十年架构师经验总结
EXPLAIN SELECT * FROM users WHERE username = 'testuser';

通过分析 EXPLAIN 的输出,可以判断是否使用了索引,以及索引的使用情况,从而进行相应的优化,例如添加索引、优化 SQL 语句等。

另外,要关注 MySQL 的慢查询日志,长时间运行的 SQL 语句会被记录到该日志中,通过分析慢查询日志可以发现潜在的性能问题。 此外,合理配置 MySQL 的 buffer pool size,也能显著提升查询性能。 涉及到高并发场景,可以考虑使用 Nginx 做反向代理和负载均衡,同时优化 MySQL 的并发连接数配置。 使用宝塔面板可以简化服务器管理和 MySQL 的配置。

常用命令总结

以下是常用 MySQL 命令的汇总表:

命令描述示例
mysql连接到 MySQL 服务器mysql -u root -p
CREATE DATABASE创建数据库CREATE DATABASE my_database;
DROP DATABASE删除数据库DROP DATABASE my_database;
USE选择数据库USE my_database;
SHOW DATABASES查看数据库列表SHOW DATABASES;
CREATE TABLE创建表CREATE TABLE users (...);
DROP TABLE删除表DROP TABLE users;
ALTER TABLE修改表结构ALTER TABLE users ADD phone VARCHAR(20);
DESCRIBE / SHOW COLUMNS查看表结构DESCRIBE users;
INSERT INTO插入数据INSERT INTO users (...) VALUES (...);
SELECT查询数据SELECT * FROM users;
UPDATE更新数据UPDATE users SET ... WHERE ...;
DELETE FROM删除数据DELETE FROM users WHERE ...;
EXPLAIN分析 SQL 语句执行计划EXPLAIN SELECT * FROM users WHERE ...;

数据备份与恢复

为了保证数据的安全性,我们需要定期备份数据库。MySQL 提供了 mysqldump 命令进行数据库备份。

备份数据库

mysqldump -u 用户名 -p 密码 数据库名 > 备份文件.sql

例如:

mysqldump -u root -p my_database > my_database.sql

恢复数据库

mysql -u 用户名 -p 密码 数据库名 < 备份文件.sql

例如:

mysql -u root -p my_database < my_database.sql

或者,在 MySQL 命令行中执行:

SOURCE 备份文件.sql;

例如:

SOURCE /path/to/my_database.sql;

希望这份 MySQL 常用命令全攻略 能帮助你更高效地进行 MySQL 数据库的管理和操作。熟练掌握这些命令,能让你在后端架构设计和开发中更加得心应手。

MySQL 常用命令速查手册:十年架构师经验总结

转载请注明出处: 半杯凉茶

本文的链接地址: http://m.acea2.store/blog/392838.SHTML

本文最后 发布于2026-04-02 03:26:24,已经过了25天没有更新,若内容或图片 失效,请留言反馈

()
您可能对以下文章感兴趣
评论
  • 煎饼果子 6 天前
    写的真不错,都是干货!特别是慢查询优化的部分,很实用,之前遇到过类似的问题。