【MySQL】常用命令总结(库与表增删查改)

1. 登录与退出(在终端/命令行中执行)

  • 登录 MySQL:

    bash 复制代码
    mysql -u root -p

    输入后会提示你输入密码。

  • 连接远程数据库:

    bash 复制代码
    mysql -h 主机IP地址 -P 端口号 -u 用户名 -p
  • 退出 MySQL 命令行:

    sql 复制代码
    exit;
    -- 或者使用 quit;

2. 数据库操作 (Database)

  • 查看所有数据库:

    bash 复制代码
    SHOW DATABASES;
  • 创建数据库:

    sql 复制代码
    CREATE DATABASE 数据库名;
    -- 推荐指定字符集以支持多语言和 Emoji:
    CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 切换/选择数据库:

    sql 复制代码
    USE 数据库名;
  • 查看当前正在使用的数据库:

    sql 复制代码
    SELECT DATABASE();
  • 删除数据库(极其危险的操作,请谨慎):

    sql 复制代码
    DROP DATABASE 数据库名;

3. 数据表操作 (Table)

  • 查看当前数据库中的所有表:

    sql 复制代码
    SHOW TABLES;
  • 创建数据表:

    sql 复制代码
    CREATE TABLE 表名 (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(50) NOT NULL,
        age INT,
        create_time DATETIME DEFAULT CURRENT_TIMESTAMP
    );
  • 查看表结构(字段信息):

    sql 复制代码
    DESC 表名;
    -- 或者 DESCRIBE 表名;
  • 查看建表语句:

    sql 复制代码
    SHOW CREATE TABLE 表名;
  • 删除数据表:

    sql 复制代码
    DROP TABLE 表名;
  • 修改表结构(添加、删除、修改列):

    sql 复制代码
    -- 添加一列:
    ALTER TABLE 表名 ADD 列名 数据类型;
    -- 删除一列:
    ALTER TABLE 表名 DROP 列名;
    -- 修改列的数据类型:
    ALTER TABLE 表名 MODIFY 列名 新数据类型;
    -- 重命名列:
    ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型;

4. 数据操作 - 增删改查 (CRUD)

  • 新增数据 (Insert):

    sql 复制代码
    INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2);
    -- 插入多条:
    INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2), (值3, 值4);
  • 查询数据 (Select):

    sql 复制代码
    -- 查询所有数据(生产环境中慎用 *):
    SELECT * FROM 表名;
    -- 条件查询:
    SELECT 列1, 列2 FROM 表名 WHERE 条件;
    -- 排序查询 (DESC降序,ASC升序):
    SELECT * FROM 表名 ORDER BY 列名 DESC;
    -- 分页/限制条数查询:
    SELECT * FROM 表名 LIMIT 10;          -- 取前10条
    SELECT * FROM 表名 LIMIT 10 OFFSET 20; -- 跳过20条,取10条
  • 修改数据 (Update):

    sql 复制代码
    UPDATE 表名 SET 列1 = 新值, 列2 = 新值 WHERE 条件;
    -- 注意:如果不加 WHERE 条件,会更新整张表的所有数据!
  • 删除数据 (Delete):

    sql 复制代码
    DELETE FROM 表名 WHERE 条件;
    -- 注意:如果不加 WHERE 条件,会删除表中所有数据!
    
    -- 清空整张表(重置自增ID,速度比 DELETE 快):
    TRUNCATE TABLE 表名;

5. 用户与权限管理

  • 创建新用户:

    sql 复制代码
    CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
    -- 允许在任何主机登录:主机名使用 '%'
  • 授权(给用户分配权限):

    sql 复制代码
    GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'主机名';
    -- 刷新权限,使其立即生效:
    FLUSH PRIVILEGES;
  • 查看用户权限:

    sql 复制代码
    SHOW GRANTS FOR '用户名'@'主机名';
  • 撤销权限:

    sql 复制代码
    REVOKE ALL PRIVILEGES ON 数据库名.* FROM '用户名'@'主机名';

6. 数据导入与导出(在终端/命令行中执行)

  • 导出整个数据库(备份):

    bash 复制代码
    mysqldump -u 用户名 -p 数据库名 > backup.sql
  • 导入 SQL 文件(恢复):

    bash 复制代码
    mysql -u 用户名 -p 数据库名 < backup.sql

    或者在 MySQL 命令行内执行:

    sql 复制代码
    source /文件路径/backup.sql;
相关推荐
Asuicao26 分钟前
centos7.9版本升级ssh OpenSSH 9.8p1 源码 OpenSSL 1.1.1w 源码包以及安装升级回滚文档
运维·ssh
kali-Myon1 小时前
某校园门禁系统高危 SQL 注入漏洞挖掘复盘
数据库·sql·安全·web安全
志栋智能1 小时前
超自动化安全中的威胁狩猎
运维·安全·自动化
↘"LYong1 小时前
旧版 CentOS 安装 Docker 完整指南(附国内镜像加速)
linux·运维·docker
Elastic 中国社区官方博客2 小时前
Elastic 在 Everest Group 企业搜索产品 PEAK Matrix® 评估 2026 中被评为领导者
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
程序员在囧途2 小时前
likeadmin-api API 中转站怎么做统一报价?从 /pricing、/user/balance 到 task_id 回执的落地方法
运维·服务器·数据库·likeadmin-api·api中转站·token计费
龙石数据3 小时前
MySQL 全量同步到 Hive 怎么做?三步配置教程
数据库·hive·mysql·数据治理·数据中台
想你依然心痛3 小时前
Linux用户空间与内核空间通信:netlink、ioctl、mmap 零拷贝与性能对比
linux·运维·服务器
沉静的小伙3 小时前
在微服务中使用领域事件
java·运维·微服务
程序员在囧途3 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市