MySQL是常用的关系型数据库管理系统,掌握核心命令是操作数据库的基础,以下内容整理了日常使用中最常见的MySQL命令及对应用法。
一、数据库连接与退出命令
连接本地MySQL服务是最基础的操作,退出命令可以在操作完成后释放连接资源。
- 连接数据库:mysql -u 用户名 -p,执行后输入对应密码即可登录
- 退出数据库:exit 或者 quit,执行后断开当前连接
二、数据库操作命令
数据库层面的操作包括查看、创建、删除、切换等,是操作表和数据的前提。
1. 查看所有数据库
-- 查看当前MySQL实例下的所有数据库 SHOW DATABASES;
2. 创建数据库
-- 创建名为test_db的数据库,设置字符集为utf8mb4 CREATE DATABASE IF NOT EXISTS test_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
3. 删除数据库
-- 删除名为test_db的数据库,IF EXISTS避免数据库不存在时报错 DROP DATABASE IF EXISTS test_db;
4. 切换当前数据库
-- 切换到test_db数据库,后续操作默认在该库下执行 USE test_db;
三、表操作命令
表是存储数据的基本单元,表操作命令涵盖结构查看、创建、修改、删除等场景。
1. 查看当前库所有表
-- 查看当前数据库下的所有表 SHOW TABLES;
2. 创建数据表
-- 创建用户表user,包含id、用户名、年龄字段
CREATE TABLE IF NOT EXISTS user (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
username VARCHAR(50) NOT NULL COMMENT '用户名',
age INT DEFAULT 0 COMMENT '年龄'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表';
3. 查看表结构
-- 查看user表的字段结构、类型、约束等信息 DESC user; -- 另一种方式,查看更详细的建表语句 SHOW CREATE TABLE user;
4. 修改表结构
-- 给user表新增email字段 ALTER TABLE user ADD COLUMN email VARCHAR(100) COMMENT '邮箱'; -- 修改user表的age字段类型为BIGINT ALTER TABLE user MODIFY COLUMN age BIGINT COMMENT '年龄'; -- 删除user表的email字段 ALTER TABLE user DROP COLUMN email;
5. 删除数据表
-- 删除user表 DROP TABLE IF EXISTS user;
四、数据操作命令
数据操作是最常用的命令类型,包括新增、查询、修改、删除四类基础操作。
1. 插入数据
-- 插入单条数据
INSERT INTO user (username, age) VALUES ('张三', 25);
-- 插入多条数据
INSERT INTO user (username, age) VALUES ('李四', 22), ('王五', 28);
2. 查询数据
-- 查询user表所有数据 SELECT * FROM user; -- 查询年龄大于25的用户名和年龄 SELECT username, age FROM user WHERE age > 25; -- 按年龄降序查询前10条数据 SELECT * FROM user ORDER BY age DESC LIMIT 10;
3. 修改数据
-- 把id为1的用户年龄修改为26 UPDATE user SET age = 26 WHERE id = 1; -- 给所有用户年龄加1 UPDATE user SET age = age + 1;
4. 删除数据
-- 删除id为1的用户数据 DELETE FROM user WHERE id = 1; -- 清空user表所有数据,自增ID会重置 TRUNCATE TABLE user;
五、用户与权限管理命令
MySQL的用户和权限管理可以保证数据库访问的安全性,避免无权限用户操作数据。
1. 创建用户
-- 创建用户test_user,允许所有IP访问,密码为123456 CREATE USER 'test_user'@'%' IDENTIFIED BY '123456';
2. 授权操作
-- 给test_user用户授予test_db库下所有表的查询、插入、修改权限 GRANT SELECT, INSERT, UPDATE ON test_db.* TO 'test_user'@'%'; -- 刷新权限使配置生效 FLUSH PRIVILEGES;
3. 查看用户权限
-- 查看test_user用户的权限 SHOW GRANTS FOR 'test_user'@'%';
4. 删除用户
-- 删除test_user用户 DROP USER 'test_user'@'%';
六、其他实用命令
以下命令可以辅助日常操作,提升问题排查效率。
- 查看MySQL版本:SELECT VERSION();
- 查看当前登录用户:SELECT USER();
- 查看当前所在数据库:SELECT DATABASE();
- 查看数据库进程:SHOW PROCESSLIST;
- 导出数据库:在命令行执行 mysqldump -u 用户名 -p 数据库名 > 导出文件.sql
- 导入数据库:在命令行执行 mysql -u 用户名 -p 数据库名 < 导入文件.sql