菜鸟科技网

MySQL数据库CMD命令有哪些?

MySQL数据库通过CMD命令行进行操作是数据库管理和开发中的基础技能,尤其在服务器环境或无图形界面的场景下尤为重要,以下将详细介绍MySQL在CMD中的常用命令,涵盖连接数据库、数据操作、表管理、用户权限等核心功能,并结合表格整理关键命令格式,帮助用户系统掌握。

MySQL数据库CMD命令有哪些?-图1
(图片来源网络,侵删)

连接与退出MySQL数据库

在CMD中操作MySQL的第一步是建立与数据库服务器的连接,需确保MySQL服务已启动,且系统环境变量中包含MySQL的bin目录路径。

  1. 连接本地MySQL
    命令格式:mysql -u 用户名 -p
    示例:mysql -u root -p
    执行后需输入密码,成功后进入MySQL命令行界面,提示符为mysql>
  2. 连接远程MySQL
    命令格式:mysql -h 主机地址 -P 端口号 -u 用户名 -p
    示例:mysql -h 192.168.1.100 -P 3306 -u admin -p
    需确保远程服务器允许IP访问,并防火墙开放对应端口。
  3. 退出MySQL
    输入exit;quit;并回车,或使用快捷键Ctrl+C强制退出。

数据库操作

数据库是存储数据的容器,常用操作包括创建、查看、选择和删除。

  1. 创建数据库
    命令:CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    示例:CREATE DATABASE mydb CHARACTER SET utf8mb4;
    utf8mb4支持emoji和特殊字符,推荐使用。
  2. 查看所有数据库
    命令:SHOW DATABASES;
  3. 选择数据库
    命令:USE 数据库名;
    示例:USE mydb;
    执行后后续命令将在该数据库下生效。
  4. 删除数据库
    命令:DROP DATABASE 数据库名;
    警告:此操作不可逆,将删除数据库及所有数据。

数据表操作

数据表是数据库的核心结构,涉及创建、修改、查看和删除。

  1. 创建数据表
    命令:
    CREATE TABLE 表名 (
        列名1 数据类型 [约束],
        列名2 数据类型 [约束],
        ...
    );

    示例:

    MySQL数据库CMD命令有哪些?-图2
    (图片来源网络,侵删)
    CREATE TABLE users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50) NOT NULL,
        email VARCHAR(100) UNIQUE,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    常用数据类型:INT(整数)、VARCHAR(字符串)、TEXT(长文本)、TIMESTAMP(时间戳)。
    常用约束:PRIMARY KEY(主键)、NOT NULL(非空)、UNIQUE(唯一)、DEFAULT(默认值)。

  2. 查看表结构
    命令:DESC 表名;SHOW COLUMNS FROM 表名;
  3. 修改表结构
    • 添加列:ALTER TABLE 表名 ADD COLUMN 列名 数据类型;
    • 修改列:ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型;
    • 删除列:ALTER TABLE 表名 DROP COLUMN 列名;
  4. 删除表
    命令:DROP TABLE 表名;

数据操作(CRUD)

  1. 插入数据(Create)
    命令:INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2);
    示例:INSERT INTO users (username, email) VALUES ('john', 'john@example.com');
  2. 查询数据(Read)
    • 全表查询:SELECT * FROM 表名;
    • 条件查询:SELECT 列名 FROM 表名 WHERE 条件;
      示例:SELECT username FROM users WHERE id = 1;
    • 排序与分页:SELECT * FROM 表名 ORDER BY 列名 ASC/DESC LIMIT 起始位置, 数量;
  3. 更新数据(Update)
    命令:UPDATE 表名 SET 列名=新值 WHERE 条件;
    示例:UPDATE users SET email='new@example.com' WHERE id=1;
    注意:务必添加WHERE条件,否则将更新全表数据。
  4. 删除数据(Delete)
    命令:DELETE FROM 表名 WHERE 条件;
    示例:DELETE FROM users WHERE id=1;

用户与权限管理

  1. 创建用户
    命令:CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
    示例:CREATE USER 'dev'@'localhost' IDENTIFIED BY 'DevPass123!';
  2. 授权
    命令:GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机';
    示例:GRANT SELECT, INSERT ON mydb.* TO 'dev'@'localhost';
    权限类型:SELECT(查询)、INSERT(插入)、UPDATE(更新)、DELETE(删除)、ALL(所有权限)。
  3. 刷新权限
    命令:FLUSH PRIVILEGES;
  4. 撤销权限
    命令:REVOKE 权限 ON 数据库名.表名 FROM '用户名'@'主机';

常用命令速查表

功能分类 命令格式 说明
连接数据库 mysql -u 用户名 -p 本地连接,需输入密码
创建数据库 CREATE DATABASE 数据库名; 默认字符集latin1,建议指定utf8mb4
选择数据库 USE 数据库名; 后续操作基于该数据库
查看表结构 DESC 表名; 显示列名、类型、约束等信息
插入数据 INSERT INTO 表名 VALUES (值1, 值2); 值顺序需与列顺序一致
条件查询 SELECT * FROM 表名 WHERE 列名='值'; 支持, >, <, LIKE等条件运算符
更新数据 UPDATE 表名 SET 列名='新值' WHERE 条件; 无WHERE条件将更新全表
删除数据 DELETE FROM 表名 WHERE 条件; 无WHERE条件将清空表数据
创建用户 CREATE USER '用户名'@'主机' IDENTIFIED BY '密码'; 主机可指定为localhost或(任意主机)
授权 GRANT ALL ON 数据库名.* TO '用户名'@'主机'; 授予指定数据库的所有权限

相关问答FAQs

问题1:CMD连接MySQL时提示“Access denied for user 'root'@'localhost'”如何解决?
解答:该错误通常由密码错误或用户权限不足导致,解决步骤:

  1. 确认密码输入是否正确,注意大小写和特殊字符。
  2. 若忘记密码,可通过跳过权限表的方式重置:
    • 停止MySQL服务:net stop mysql
    • 以安全模式启动:mysqld --skip-grant-tables
    • 另开CMD窗口登录MySQL(无需密码),执行:
      USE mysql;
      UPDATE user SET password=PASSWORD('新密码') WHERE user='root';
      FLUSH PRIVILEGES;
    • 重启MySQL服务,使用新密码登录。

问题2:如何通过CMD导出和导入MySQL数据库?
解答:

  1. 导出数据库(使用mysqldump工具):
    • 导出整个数据库:mysqldump -u 用户名 -p 数据库名 > 文件名.sql
      示例:mysqldump -u root -p mydb > mydb_backup.sql
    • 导出特定表:mysqldump -u 用户名 -p 数据库名 表名1 表名2 > 文件名.sql
  2. 导入数据库
    • 先创建空数据库:mysql -u 用户名 -p -e "CREATE DATABASE 数据库名;"
    • 导入数据:mysql -u 用户名 -p 数据库名 < 文件名.sql
      注意:导入前确保目标数据库不存在或为空,避免数据冲突。

通过以上命令和操作指南,用户可高效完成MySQL数据库的基础管理任务,实际操作中需注意数据备份与权限控制,确保数据库安全稳定运行。

MySQL数据库CMD命令有哪些?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇