MySQL作为最受欢迎的开源关系型数据库管理系统之一,其常用命令是数据库管理和开发的基础,掌握这些命令能够高效地进行数据库操作、数据管理和系统维护,以下从数据库连接、数据操作、表管理、用户权限和系统维护五个维度,详细梳理MySQL常用命令集。

数据库连接与退出
连接MySQL服务器需使用mysql命令,可通过-u指定用户名,-p输入密码,-h指定主机地址,-P指定端口号。mysql -u root -p -h 127.0.0.1 -P 3306,连接成功后,可通过exit或quit退出,或使用\q快捷命令,若需连接特定数据库,可在命令后直接添加数据库名,如mysql -u root -p mydb。
数据操作(CRUD)
数据操作是MySQL的核心功能,主要包括增删改查(CRUD)。
- 查询(SELECT):基础语法为
SELECT 列名 FROM 表名 WHERE 条件。SELECT * FROM users WHERE age > 18;可查询users表中年龄大于18的所有记录;SELECT name, email FROM users;仅查询姓名和邮箱字段。 - 插入(INSERT):使用
INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2)。INSERT INTO users (name, age) VALUES ('张三', 25);向users表插入一条新记录。 - 更新(UPDATE):通过
UPDATE 表名 SET 列名=新值 WHERE 条件修改数据。UPDATE users SET age=26 WHERE name='张三';将张三的年龄更新为26。 - 删除(DELETE):使用
DELETE FROM 表名 WHERE 条件删除记录,如DELETE FROM users WHERE name='张三';,需注意,无WHERE条件时会删除整表数据,建议先用SELECT确认条件。
表管理命令
表是数据库的数据载体,常用命令包括创建、修改和删除表结构。
- 创建表(CREATE TABLE):语法为
CREATE TABLE 表名 (列名 数据类型, 列名 数据类型);。CREATE TABLE products (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), price DECIMAL(10,2));创建包含自增主键的products表。 - 修改表(ALTER TABLE):可添加列、修改列类型或删除列,如
ALTER TABLE products ADD COLUMN stock INT;添加库存字段,ALTER TABLE products MODIFY name VARCHAR(200);修改姓名字段长度。 - 删除表(DROP TABLE):使用
DROP TABLE 表名删除表,如DROP TABLE products;,操作不可逆,需谨慎使用。
用户与权限管理
MySQL通过用户和权限控制数据访问安全。

- 创建用户:
CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';,例如CREATE USER 'admin'@'localhost' IDENTIFIED BY '123456';。 - 授权:使用
GRANT 权限 ON 数据库.表 TO '用户名'@'主机';,如GRANT SELECT, INSERT ON mydb.* TO 'admin'@'localhost';授予admin用户对mydb库的查询和插入权限。 - 刷新权限:
FLUSH PRIVILEGES;使权限更改生效。 - 撤销权限:
REVOKE 权限 ON 数据库.表 FROM '用户名'@'主机';,如REVOKE DELETE ON mydb.* FROM 'admin'@'localhost';。
系统维护命令
定期维护可保障数据库性能和稳定性。
- 备份与恢复:使用
mysqldump工具备份数据库,如mysqldump -u root -p mydb > backup.sql备份mydb库;恢复时可通过mysql -u root -p mydb < backup.sql导入SQL文件。 - 查看状态:
SHOW STATUS;显示服务器状态,SHOW PROCESSLIST;查看当前进程,SHOW VARIABLES;查看系统变量。 - 优化表:
OPTIMIZE TABLE 表名;可回收碎片空间,提升查询效率,适用于频繁更新的表。
相关问答FAQs
-
如何查看MySQL中所有数据库?
使用命令SHOW DATABASES;可列出服务器中所有数据库的名称,若需查看当前数据库,可执行SELECT DATABASE();。 -
忘记MySQL root密码如何重置?
首先停止MySQL服务(Linux下使用systemctl stop mysql,Windows通过服务管理器停止),然后以跳过权限表的方式启动MySQL:mysqld_safe --skip-grant-tables &(Linux)或mysqld --skip-grant-tables(Windows),接着使用mysql -u root直接登录,执行UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';更新密码,最后执行FLUSH PRIVILEGES;并重启MySQL服务。
(图片来源网络,侵删)
