菜单

King 4836
发布于 2024-09-23 / 5 阅读
0
0

Mysql

MySQL 常用命令指南

1. 连接到 MySQL

mysql -u 用户名 -p
提示输入密码后,登录 MySQL。

2. 显示数据库列表

SHOW DATABASES;
列出所有数据库。

3. 选择数据库

USE 数据库名;
切换到指定的数据库。

4. 创建数据库

CREATE DATABASE 数据库名;
创建一个新的数据库。

5. 删除数据库

DROP DATABASE 数据库名;
删除指定的数据库。

6. 显示数据表

SHOW TABLES;
列出当前数据库中的所有表。

7. 创建数据表

CREATE TABLE 表名 (列1 数据类型, 列2 数据类型);
创建一个新表,并定义列和数据类型。

8. 查看表结构

DESCRIBE 表名;
显示指定表的结构。

9. 删除数据表

DROP TABLE 表名;
删除指定的数据表。

10. 插入数据

INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2);
向表中插入数据。

11. 查询数据

SELECT * FROM 表名;
查询表中的所有数据。

12. 更新数据

UPDATE 表名 SET 列1 = 新值 WHERE 条件;
更新指定条件下的数据。

13. 删除数据

DELETE FROM 表名 WHERE 条件;
删除指定条件的数据。

14. 使用 JOIN 查询数据

JOIN 用于将多表中的数据组合查询,最常见的是 内连接INNER JOIN)。

示例:
查询两个表 usersorders,获取所有用户及其订单。

SELECT users.name, orders.order_date FROM users INNER JOIN orders ON users.id = orders.user_id;

其他 JOIN 类型:

  • LEFT JOIN:返回左表中的所有记录,即使右表中没有匹配。

  • RIGHT JOIN:返回右表中的所有记录,即使左表中没有匹配。

15. 使用子查询

子查询 是嵌套在另一个查询中的查询,可以用于多种场景。

示例:
查询 orders 表中金额大于平均订单金额的订单。

SELECT * FROM orders WHERE amount > (SELECT AVG(amount) FROM orders);

子查询类型:

  • 单行子查询:返回一个值,通常用于 WHEREHAVING 子句。

  • 多行子查询:返回多个值,用于 IN 子句等。

16. 子查询更新数据

可以使用子查询在 UPDATE 语句中更新数据。

示例:
根据子查询结果更新 employees 表中某些员工的薪资。

UPDATE employees SET salary = salary * 1.1 WHERE department_id = (SELECT id FROM departments WHERE name = 'Sales');

17. 索引

CREATE INDEX 索引名称 ON 表名 (字段名);

OR

ALTER TABLE 表名 ADD INDEX 索引名称 (字段名);

18. 退出 MySQL

EXIT;QUIT;
退出 MySQL 控制台。

MySQL 中常用的索引类型有以下几种:

  1. B-Tree 索引

    • 默认的索引类型,适用于大多数场景。

    • 适合范围查询和等值查询。

    • 在内部使用 B-Tree 数据结构,可以高效地进行查找、插入和删除操作。

  2. 哈希索引

    • 使用哈希表存储索引,适合快速的等值查询。

    • 不支持范围查询。

    • 主要用于 MEMORY 存储引擎。

  3. 全文索引(FULLTEXT)

    • 主要用于文本搜索,适合大文本字段(如 TEXT 类型)。

    • 支持自然语言处理和布尔查询。

    • 只能在 MyISAMInnoDB 存储引擎中使用。

  4. 空间索引(SPATIAL)

    • 用于处理地理空间数据,适合 GIS(地理信息系统)应用。

    • 主要在 MyISAM 存储引擎中使用。

  5. 联合索引

    • 在多个列上创建的索引,可以提高复合条件查询的性能。

    • 按照定义的列顺序进行索引。

  6. 唯一索引

    • 除了加速查询外,还保证索引列的值唯一。

    • 在插入数据时会检查是否重复。

  7. 自增索引

    • 通常与主键结合使用,使得字段值自增,适用于唯一标识。


评论