MySQL 是一款广泛使用的开源关系型数据库管理系统,掌握其命令行操作对于数据库管理至关重要,以下将详细介绍 MySQL 的常用命令,涵盖连接数据库、数据操作、表管理、用户权限等核心功能。

连接与退出数据库
需通过命令行连接到 MySQL 服务器,基本语法为:
mysql -h 主机名 -u 用户名 -p
连接本地 MySQL 服务器(默认主机名为 localhost,用户名为 root):
mysql -u root -p
输入密码后即可进入 MySQL 命令行界面,退出数据库使用:
exit; 或 quit;
数据库操作
-
创建数据库:
CREATE DATABASE 数据库名;
CREATE DATABASE mydb; -
查看所有数据库:
SHOW DATABASES; -
选择数据库:
USE 数据库名;
USE mydb;
(图片来源网络,侵删) -
删除数据库:
DROP DATABASE 数据库名;
注意:此操作不可逆,需谨慎使用。
表操作
-
创建表:
使用CREATE TABLE语句,需定义表名及字段结构。CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -
查看表结构:
DESCRIBE 表名;或SHOW COLUMNS FROM 表名; -
修改表结构:
(图片来源网络,侵删)- 添加字段:
ALTER TABLE 表名 ADD COLUMN 字段名 数据类型; - 修改字段:
ALTER TABLE 表名 MODIFY COLUMN 字段名 新数据类型; - 删除字段:
ALTER TABLE 表名 DROP COLUMN 字段名;
- 添加字段:
-
删除表:
DROP TABLE 表名;
数据操作(CRUD)
-
插入数据(INSERT):
INSERT INTO users (username, email) VALUES ('alice', 'alice@example.com'); -
查询数据(SELECT):
- 基本查询:
SELECT * FROM 表名; - 条件查询:
SELECT * FROM users WHERE username = 'alice'; - 排序:
SELECT * FROM users ORDER BY created_at DESC; - 限制条数:
SELECT * FROM users LIMIT 10;
- 基本查询:
-
更新数据(UPDATE):
UPDATE users SET email = 'new_email@example.com' WHERE id = 1;
-
删除数据(DELETE):
DELETE FROM users WHERE id = 1;
用户与权限管理
-
创建用户:
CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password123'; -
授予权限:
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机';
授予newuser对mydb的所有权限:
GRANT ALL PRIVILEGES ON mydb.* TO 'newuser'@'localhost'; -
刷新权限:
FLUSH PRIVILEGES; -
撤销权限:
REVOKE 权限 ON 数据库名.表名 FROM '用户名'@'主机';
常用实用命令
- 查看当前数据库:
SELECT DATABASE(); - 查看当前用户:
SELECT USER(); - 导出数据库:使用
mysqldump工具,
mysqldump -u root -p mydb > mydb_backup.sql - 导入数据库:
mysql -u root -p mydb < mydb_backup.sql
表格总结常用命令
| 功能分类 | 命令示例 | 说明 |
|---|---|---|
| 连接/退出 | mysql -u root -p |
连接 MySQL 服务器 |
| 数据库操作 | CREATE DATABASE mydb; |
创建数据库 |
| 表操作 | CREATE TABLE users (...); |
创建表 |
| 数据查询 | SELECT * FROM users WHERE id = 1; |
条件查询 |
| 数据更新 | UPDATE users SET email = 'new@example.com'; |
更新数据 |
| 用户管理 | GRANT ALL PRIVILEGES ON mydb.* TO 'user'; |
授权用户 |
相关问答 FAQs
Q1:如何查看 MySQL 的版本信息?
A1:在 MySQL 命令行中执行 SELECT VERSION();,或在系统命令行中使用 mysql --version。
Q2:忘记 MySQL root 密码怎么办?
A2:可通过以下步骤重置密码:
- 停止 MySQL 服务(
sudo systemctl stop mysql); - 跳过权限表启动 MySQL:
sudo mysqld_safe --skip-grant-tables &; - 无密码登录并更新密码:
mysql -u root UPDATE mysql.user SET authentication_string=PASSWORD('newpassword') WHERE User='root'; FLUSH PRIVILEGES; - 重启 MySQL 服务。
