菜鸟科技网

MySQL命令行怎么用?

MySQL命令行是数据库管理员和开发者必备的工具,它通过文本界面与MySQL服务器交互,支持高效的数据库操作,本文将详细介绍MySQL命令行的使用方法,包括连接数据库、基本操作、高级技巧及常见问题处理。

MySQL命令行怎么用?-图1
(图片来源网络,侵删)

连接MySQL服务器

使用MySQL命令行前,需先确保MySQL服务已启动,通过以下命令连接服务器:

mysql -h 主机名 -u 用户名 -p

参数说明:

  • -h:指定主机名,默认为localhost
  • -u:指定用户名,默认为root
  • -p:提示输入密码(也可直接在命令后加密码,但安全性较低)

连接本地MySQL服务器的命令为:

mysql -u root -p

输入正确密码后,即可进入MySQL命令行界面,提示符为mysql>

MySQL命令行怎么用?-图2
(图片来源网络,侵删)

基本数据库操作

数据库管理

  • 创建数据库
    CREATE DATABASE 数据库名 CHARACTER SET utf8mb4;
  • 查看数据库
    SHOW DATABASES;
  • 选择数据库
    USE 数据库名;
  • 删除数据库
    DROP DATABASE 数据库名;

表操作

  • 创建表
    CREATE TABLE 表名 (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(50) NOT NULL,
        age INT,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
  • 查看表结构
    DESCRIBE 表名;
  • 修改表
    ALTER TABLE 表名 ADD COLUMN email VARCHAR(100);
  • 删除表
    DROP TABLE 表名;

数据操作

  • 插入数据
    INSERT INTO 表名 (name, age) VALUES ('张三', 25);
  • 查询数据
    SELECT * FROM 表名 WHERE age > 20;
  • 更新数据
    UPDATE 表名 SET age = 26 WHERE name = '张三';
  • 删除数据
    DELETE FROM 表名 WHERE name = '张三';

高级技巧

导入导出数据

  • 导出数据库
    mysqldump -u 用户名 -p 数据库名 > 文件名.sql
  • 导入数据库
    mysql -u 用户名 -p 数据库名 < 文件名.sql

批量执行SQL脚本

在命令行中输入source 脚本文件路径;可执行SQL脚本文件,

mysql> source /path/to/script.sql;

格式化输出

使用\G替代分号可使查询结果以垂直格式显示,适合宽表查看:

SELECT * FROM 表名\G

常用命令速查表

功能 命令示例
查看当前用户 SELECT USER();
查看版本 SELECT VERSION();
退出命令行 EXIT 或 QUIT
清屏 system clear (Linux) 或 cls (Windows)
显示警告 SHOW WARNINGS;

常见问题处理

  1. 连接被拒绝:检查MySQL服务是否启动,用户名或密码是否正确。
  2. 中文乱码:确保创建数据库时指定utf8mb4字符集,并检查客户端编码设置。

相关问答FAQs

Q1: 如何重置MySQL root密码?
A1:

  1. 停止MySQL服务:sudo systemctl stop mysql(Linux)或通过任务管理器停止(Windows)。
  2. 跳过权限表启动:sudo mysqld_safe --skip-grant-tables &(Linux)或mysqld --skip-grant-tables(Windows)。
  3. 无密码登录MySQL:mysql -u root
  4. 执行更新密码命令:
    UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
    FLUSH PRIVILEGES;
  5. 重启MySQL服务并测试新密码。

Q2: 命令行中如何分页显示查询结果?
A2:
使用pager命令指定分页工具,例如Linux下使用less

MySQL命令行怎么用?-图3
(图片来源网络,侵删)
mysql> pager less -S -i -F -X
mysql> SELECT * FROM 宽表名;  -- 结果将分页显示

取消分页可执行nopager,Windows用户可使用more命令替代。

分享:
扫描分享到社交APP
上一篇
下一篇