• 当前位置: 首 页 > 教育百科 > 学历/技能 > 正文

    MySQL常用命令汇总

    :2024年12月11日
    运维李哥不背锅

    MySQL命令包括登录与退出、数据库管理查看列表、创建数据库、删除数据库等操作。

    MySQL命令是很多的,如果全面列出的话,篇幅较长,我在这里面只是罗列了一些常用的,供大家参考。

    1. 登录与退出

    登录 MySQL

    mysql [OPTIONS]

    mysql -uroot -p

    选项说明示例-u指定用户名-u root-p提示输入密码(密码可跟在后面但不安全)-p1234 或 -p-h指定主机名(默认 localhost)-h 192.168.1.100-P指定端口(默认 3306)-P 3307--ssl启用 SSL 安全连接--ssl--socket指定套接字文件--socket=/tmp/mysql.sock--database登录后直接使用指定数据库--database=testdb

    退出 MySQL

    SQL> exit;

    或:

    SQL> quit;

    2. 数据库管理

    查看数据库列表

    show databases;

    创建数据库

    CREATE DATABASE 数据库名 [OPTIONS];

    CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    选项说明示例DEFAULT CHARACTER SET设置数据库的默认字符集DEFAULT CHARACTER SET utf8mb4DEFAULT COLLATE设置数据库的排序规则(与字符集匹配)DEFAULT COLLATE utf8mb4_general_ci

    删除数据库

    drop databases 数据库名;

    使用指定数据库

    USE 数据库名;

    use mysql;

    查看当前使用的数据库

    SELECT DATABASE();

    查看数据库大小

    SELECT table_schema AS 数据库名,

           ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 大小_MB

    FROM information_schema.tables

    GROUP BY table_schema;

    3. 表管理

    查看当前数据库的所有表

    SHOW TABLES;

    查看表结构

    DESC 表名;

    或:

    SHOW COLUMNS FROM 表名;

    创建表

    CREATE TABLE 表名 (

        列名 数据类型 [约束条件],

        ...

    ) [OPTIONS];

    CREATE TABLE users (

        id INT AUTO_INCREMENT PRIMARY KEY,

        name VARCHAR(50) NOT NULL,

        email VARCHAR(100) UNIQUE,

        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

    选项说明示例ENGINE设置存储引擎(如 InnoDB、MyISAM)ENGINE=InnoDBDEFAULT CHARSET设置表的默认字符集DEFAULT CHARSET=utf8mb4AUTO_INCREMENT指定自增主键id INT AUTO_INCREMENT PRIMARY KEY

    查看表的创建语句

    SHOW CREATE TABLE 表名;

    修改表结构

    添加列:

    ALTER TABLE 表名 ADD 列名 数据类型 [位置];

    位置:FIRST(在最前),AFTER 列名(在指定列后)。

    修改列:

    ALTER TABLE 表名 MODIFY 列名 数据类型;

    删除列:

    ALTER TABLE 表名 DROP 列名;

    重命名列:

    ALTER TABLE 表名 CHANGE 原列名 新列名 数据类型;

    删除表

    DROP TABLE 表名;

    清空表(保留结构)

    TRUNCATE TABLE 表名;

    4. 数据操作

    插入数据

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

    INSERT INTO users (name, email) VALUES ('Alice', 'liyb@example.com');

    批量插入

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

    (值1, 值2),

    (值3, 值4),

    (值5, 值6);

    查询数据

    SELECT 列名1, 列名2, ... FROM 表名 [WHERE 条件] [ORDER BY 列名 ASC|DESC] [LIMIT 偏移量, 行数];

    SELECT * FROM users WHERE email LIKE '%example.com' ORDER BY created_at DESC LIMIT 10;

    常用子句:

    子句说明示例WHERE指定条件WHERE age > 30ORDER BY排序结果集ORDER BY name ASCLIMIT限制返回行数,支持偏移量LIMIT 5 OFFSET 10GROUP BY按列分组GROUP BY departmentHAVING筛选分组结果HAVING COUNT(*) > 1

    更新数据

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

    示例:

    UPDATE users SET email='new_email@example.com' WHERE name='Alice';

    删除数据

    DELETE FROM 表名 WHERE 条件;

    DELETE FROM users WHERE id=10;

    5. 用户管理

    创建用户

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

    CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'mypassword';

    参数说明示例'用户名'用户名'testuser''主机'用户允许访问的主机(% 表示任意主机)'localhost' 或 '%''密码'用户密码'password123'

    修改用户密码

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

    ALTER USER 'testuser'@'localhost' IDENTIFIED BY 'newpassword123';

    删除用户

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

    授予权限

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

    权限说明ALL PRIVILEGES授予所有权限SELECT允许读取表中的数据INSERT允许向表中插入数据UPDATE允许修改表中的数据DELETE允许删除表中的数据CREATE允许创建数据库和表DROP允许删除数据库和表

    GRANT SELECT, INSERT ON mydb.* TO 'testuser'@'localhost';

    撤销权限

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

    REVOKE INSERT ON mydb.* FROM 'testuser'@'localhost';

    刷新权限

    FLUSH PRIVILEGES;

    6. 性能优化

    查看查询执行计划

    EXPLAIN SELECT 查询语句;

    EXPLAIN SELECT * FROM users WHERE email='test@example.com';

    优化表

    OPTIMIZE TABLE 表名;

    查看慢查询

    SHOW VARIABLES LIKE 'slow_query_log';

    启用慢查询:

    SET GLOBAL slow_query_log=1;

    检查表

    CHECK TABLE 表名;

    修复表

    REPAIR TABLE 表名;

    来源:https://mp.weixin.qq.com/s/oSrjVG0giU5b1H2uVhCDLw

    [编辑:王振袢 &发表于江苏]
    [我要纠错]

    来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
    声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。

    关键词: MySQL 命令 多的 如果 全面
    有价值
    0
    无价值
    0
    猜您喜欢
    最热文章

    暂不支持手机端,请登录电脑端访问

    正在加载验证码......

    请先完成验证