mysql命令行操作大全 终端模式下完整使用指南

来源:程序开发作者:俊华头衔:草根站长
导读:本期聚焦于小伙伴创作的《mysql命令行操作大全 终端模式下完整使用指南》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《mysql命令行操作大全 终端模式下完整使用指南》有用,将其分享出去将是对创作者最好的鼓励。

mysql命令行是开发者操作mysql数据库最常用的方式之一,通过终端直接输入命令可以快速完成各类数据库管理任务,不需要依赖图形化工具,适合服务器环境和对效率有要求的场景。接下来将详细介绍终端模式下mysql的完整使用流程和相关操作。

mysql命令行操作大全 终端模式下完整使用指南

一、mysql命令行连接与登录

首先要确保本地已经安装mysql服务,并且服务处于运行状态,之后打开终端输入连接命令即可。如果是本地连接,基础命令格式如下:

mysql -u 用户名 -p

输入命令后回车,系统会提示输入对应用户的密码,输入正确密码后回车即可进入mysql命令行交互界面。如果是连接远程mysql服务,需要额外指定主机地址和端口,命令格式如下:

mysql -h 远程主机IP -P 端口号 -u 用户名 -p

例如连接192.168.0.1主机的3306端口,用户名为root,命令为:

mysql -h 192.168.0.1 -P 3306 -u root -p

如果要退出mysql命令行,输入exit或者quit命令后回车即可。

二、数据库基础操作

1. 查看所有数据库

进入mysql命令行后,首先可以查看当前mysql实例下所有的数据库,命令如下:

SHOW DATABASES;

2. 创建数据库

创建新数据库的命令格式为:

CREATE DATABASE 数据库名 CHARACTER SET 字符集 COLLATE 排序规则;

如果不指定字符集和排序规则,默认会使用mysql配置的字符集,通常建议显式指定utf8mb4字符集,避免中文乱码问题,示例:

CREATE DATABASE test_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

3. 选择数据库

操作数据库内的表和数据前,需要先选择要使用的数据库,命令如下:

USE 数据库名;

4. 删除数据库

删除数据库的命令需要谨慎使用,执行后数据库内所有数据都会被清除,命令格式:

DROP DATABASE 数据库名;

三、表操作相关命令

1. 查看当前数据库下的所有表

选择数据库后,可以查看该数据库下所有的表,命令如下:

SHOW TABLES;

2. 创建表

创建表需要指定表名、字段名、字段类型以及约束条件,基础命令格式:

CREATE TABLE 表名 (
    字段1 数据类型 约束条件,
    字段2 数据类型 约束条件,
    ...
    主键约束,
    索引约束等
) ENGINE=存储引擎 DEFAULT CHARSET=字符集;

示例:创建一个用户表,包含id、用户名、年龄、创建时间字段:

CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
    username VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名',
    age INT DEFAULT 0 COMMENT '年龄',
    create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

3. 查看表结构

查看已创建表的结构信息,命令如下:

DESC 表名;
-- 或者
DESCRIBE 表名;

4. 修改表结构

如果需要新增字段、修改字段类型或者删除字段,可以使用ALTER TABLE命令,常见操作示例:

-- 新增字段
ALTER TABLE user ADD email VARCHAR(100) COMMENT '邮箱';
-- 修改字段类型
ALTER TABLE user MODIFY age SMALLINT DEFAULT 18 COMMENT '年龄';
-- 删除字段
ALTER TABLE user DROP email;
-- 修改表名
ALTER TABLE user RENAME TO sys_user;

5. 删除表

删除表的命令同样需要谨慎执行,会清除表结构和所有数据:

DROP TABLE 表名;
-- 如果存在才删除
DROP TABLE IF EXISTS 表名;

四、数据增删改查操作

1. 插入数据

向表中插入新数据使用INSERT命令,格式如下:

-- 插入单条数据
INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);
-- 插入多条数据
INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...);

示例:向user表插入数据:

INSERT INTO user (username, age) VALUES ('张三', 25);
INSERT INTO user (username, age) VALUES ('李四', 22), ('王五', 30);

2. 查询数据

查询数据使用SELECT命令,基础查询格式:

-- 查询所有字段
SELECT * FROM 表名;
-- 查询指定字段
SELECT 字段1, 字段2 FROM 表名;
-- 带条件查询
SELECT * FROM 表名 WHERE 条件;
-- 排序
SELECT * FROM 表名 ORDER BY 字段 ASC|DESC;
-- 分页
SELECT * FROM 表名 LIMIT 起始偏移量, 查询条数;

示例:查询年龄大于23岁的用户,按年龄降序排列,取前10条:

SELECT id, username, age FROM user WHERE age > 23 ORDER BY age DESC LIMIT 0, 10;

3. 更新数据

更新表中已有数据使用UPDATE命令,必须带WHERE条件,否则会更新整张表的数据:

UPDATE 表名 SET 字段1=值1, 字段2=值2 WHERE 条件;

示例:将用户名为张三的年龄更新为26:

UPDATE user SET age=26 WHERE username='张三';

4. 删除数据

删除表中数据使用DELETE命令,同样必须带WHERE条件,否则会删除整张表的数据:

DELETE FROM 表名 WHERE 条件;

示例:删除用户名为李四的用户数据:

DELETE FROM user WHERE username='李四';

五、权限管理相关操作

mysql的权限管理可以通过命令行完成,常见操作如下:

1. 创建用户

CREATE USER '用户名'@'主机范围' IDENTIFIED BY '密码';

示例:创建只能从本地登录的用户test_user,密码为123456:

CREATE USER 'test_user'@'localhost' IDENTIFIED BY '123456';

2. 授权

给用户授予权限使用GRANT命令,格式如下:

GRANT 权限类型 ON 数据库.表 TO '用户名'@'主机范围';
-- 授予所有权限
GRANT ALL PRIVILEGES ON 数据库.表 TO '用户名'@'主机范围';
-- 刷新权限使配置生效
FLUSH PRIVILEGES;

示例:给test_user用户授予test_db数据库下所有表的查询和插入权限:

GRANT SELECT, INSERT ON test_db.* TO 'test_user'@'localhost';
FLUSH PRIVILEGES;

3. 撤销权限

REVOKE 权限类型 ON 数据库.表 FROM '用户名'@'主机范围';
FLUSH PRIVILEGES;

4. 删除用户

DROP USER '用户名'@'主机范围';

六、常见问题与解决方法

  • 连接时提示Access denied for user:检查用户名和密码是否正确,以及该用户是否允许从当前主机登录。
  • 执行命令提示语法错误:检查sql语句的语法,尤其是关键字拼写、引号匹配、分号结尾等细节。
  • 中文数据乱码:检查数据库、表、字段的字符集是否设置为utf8mb4,终端的字符集是否支持中文。
  • 忘记root密码:可以停止mysql服务,以跳过权限验证的方式启动,之后重置root密码。

mysql命令行操作终端模式数据库管理修改时间:2026-06-15 21:21:34

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。