菜鸟科技网

MySQL命令行大全有哪些常用命令?

MySQL命令行是数据库管理中不可或缺的工具,通过它可以高效地执行数据库操作、管理用户权限、优化查询等,以下从基础操作、数据库管理、表操作、数据操作、用户与权限管理、高级功能等方面详细介绍MySQL命令行的常用命令及使用方法。

MySQL命令行大全有哪些常用命令?-图1
(图片来源网络,侵删)

基础操作与连接

  1. 连接MySQL服务器

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

    若本地连接且用户为root,可简化为mysql -u root -p,输入密码后进入命令行界面。

  2. 退出MySQL

    exit; 或 quit;
  3. 显示当前时间

    MySQL命令行大全有哪些常用命令?-图2
    (图片来源网络,侵删)
    SELECT NOW();
  4. 切换数据库

    USE 数据库名;

数据库管理

  1. 创建数据库

    CREATE DATABASE 数据库名 [CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci];

    示例:创建名为test_db的数据库,指定字符集为utf8mb4。

  2. 查看所有数据库

    MySQL命令行大全有哪些常用命令?-图3
    (图片来源网络,侵删)
    SHOW DATABASES;
  3. 删除数据库

    DROP DATABASE 数据库名;
  4. 修改数据库字符集

    ALTER DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

表操作

  1. 创建表

    CREATE TABLE 表名 (
        列名1 数据类型 [约束],
        列名2 数据类型 [约束],
        PRIMARY KEY (主键列名)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

    示例:创建users表,包含id(自增主键)、name(varchar)、age(int)字段。

  2. 查看所有表

    SHOW TABLES;
  3. 查看表结构

    DESCRIBE 表名; 或 SHOW COLUMNS FROM 表名;
  4. 修改表结构

    • 添加列:
      ALTER TABLE 表名 ADD COLUMN 列名 数据类型 [约束];
    • 修改列类型:
      ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型;
    • 删除列:
      ALTER TABLE 表名 DROP COLUMN 列名;
  5. 删除表

    DROP TABLE 表名;

数据操作(增删改查)

  1. 插入数据

    INSERT INTO 表名 (列名1, 列名2) VALUES (值1, 值2);

    若插入所有列,可省略列名:INSERT INTO 表名 VALUES (值1, 值2);

  2. 查询数据

    • 基础查询:
      SELECT * FROM 表名;
    • 条件查询:
      SELECT * FROM 表名 WHERE 条件;
    • 排序与分页:
      SELECT * FROM 表名 ORDER BY 列名 [ASC/DESC] LIMIT 起始位置, 记录数;
  3. 更新数据

    UPDATE 表名 SET 列名1=新值1 WHERE 条件;
  4. 删除数据

    DELETE FROM 表名 WHERE 条件;

用户与权限管理

  1. 创建用户

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

    示例:CREATE USER 'test_user'@'localhost' IDENTIFIED BY '123456';

  2. 授权

    GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机';

    示例:授予test_usertest_db库所有表的查询权限:

    GRANT SELECT ON test_db.* TO 'test_user'@'localhost';
  3. 刷新权限

    FLUSH PRIVILEGES;
  4. 撤销权限

    REVOKE 权限 ON 数据库名.表名 FROM '用户名'@'主机';
  5. 删除用户

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

高级功能

  1. 备份与恢复

    • 备份数据库(命令行):
      mysqldump -u用户名 -p密码 数据库名 > 备份文件.sql
    • 恢复数据库:
      mysql -u用户名 -p密码 数据库名 < 备份文件.sql
  2. 查询执行计划

    EXPLAIN SELECT * FROM 表名 WHERE 条件;
  3. 事务处理

    START TRANSACTION;  -- 开始事务
    -- 执行SQL语句
    COMMIT;            -- 提交事务
    -- 或 ROLLBACK;      -- 回滚事务
  4. 索引管理

    • 创建索引:
      CREATE INDEX 索引名 ON 表名(列名);
    • 删除索引:
      DROP INDEX 索引名 ON 表名;

常用命令速查表

功能分类 命令示例
连接与退出 mysql -u root -pexit;
数据库操作 CREATE DATABASE db;SHOW DATABASES;DROP DATABASE db;
表操作 CREATE TABLE t (id INT);DESC t;ALTER TABLE t ADD COLUMN name VARCHAR(20);
数据查询 SELECT * FROM t WHERE id=1;SELECT * FROM t ORDER BY id LIMIT 10;
数据修改 UPDATE t SET name='Tom' WHERE id=1;DELETE FROM t WHERE id=1;
用户与权限 CREATE USER 'u'@'%' IDENTIFIED BY 'pwd';GRANT SELECT ON db.* TO 'u'@'%';
备份与恢复 mysqldump -u root -p db > backup.sqlmysql -u root -p db < backup.sql

相关问答FAQs

Q1: 如何在MySQL命令行中执行SQL脚本文件?
A1: 使用source命令或mysql命令行参数,在MySQL命令行中执行:

source /path/to/script.sql;

或直接在命令行执行:

mysql -u用户名 -p密码 数据库名 < /path/to/script.sql

Q2: 如何查看MySQL的版本和当前时间?
A2: 在MySQL命令行中执行以下命令:

SELECT VERSION();  -- 查看MySQL版本
SELECT NOW();      -- 查看当前服务器时间

也可通过命令行参数查看版本:mysql --versionmysqld --version

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