mysql 常用知识点总结

MySQL 是一种广泛使用的关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)。了解 MySQL 的语法对数据库管理和操作非常重要。以下是 MySQL 语法的详细完整解释,涵盖基本概念、创建表、查询、修改数据等内容。

1. 基础概念

  • 数据库 (Database): 数据库是存储数据的容器,里面可以包含多个表。
  • 表 (Table): 表是数据库中的核心元素,包含行(记录)和列(字段)。
  • 行 (Row): 一行数据代表表中的一条记录。
  • 列 (Column): 列是数据的属性,每个列都有一个特定的数据类型。
  • 数据类型 (Data Types): 定义列中数据的类型,如整数、浮点数、字符串、日期等。

2. 常见数据类型

数据类型 描述
INT 整数
FLOAT 浮点数
VARCHAR 变长字符串
CHAR 固定长度字符串
TEXT 大文本
DATE 日期(格式:YYYY-MM-DD)
DATETIME 日期和时间(格式:YYYY-MM-DD HH:MM:SS)

3. 数据库管理

  • 创建数据库

    CREATE DATABASE db_name;
    
    • db_name: 数据库名称。
  • 选择数据库

    USE db_name;
    
  • 查看现有数据库

    SHOW DATABASES;
    
  • 删除数据库

    DROP DATABASE db_name;
    

4. 表操作

  • 创建表

    CREATE TABLE table_name (
      column_name1 data_type constraints,
      column_name2 data_type constraints,
      ...
    );
    
    • table_name: 表的名称。
    • data_type: 列的数据类型。
    • C++onstraints: 列的约束,如 PRIMARY KEYNOT NULL 等。

    示例:

    CREATE TABLE students (
      id INT PRIMARY KEY,
      name VARCHAR(50) NOT NULL,
      age INT,
      enrollment_date DATE
    );
    
  • 查看表结构

    DESCRIBE table_name;
    
  • 删除表

    DROP TABLE table_name;
    
  • 修改表结构

    • 添加新列:
      ALTER TABLE table_name ADD new_column_name data_type;
      
    • 修改列类型:
      ALTER TABLE table_name MODIFY column_name new_data_type;
      
    • 删除列:
      USE db_name;
      0

5. 数据操作

5.1 插入数据

USE db_name;
1

示例:

USE db_name;
2

5.2 查询数据

  • 基本查询

    USE db_name;
    3

    示例:

    USE db_name;
    4
  • 查询所有列

    USE db_name;
    5
  • 使用条件过滤查询

    USE db_name;
    6

    示例:

    USE db_name;
    7
  • 排序

    USE db_name;
    8

    示例:

    USE db_name;
    9
  • 限制查询结果

    SHOW DATABASES;
    0

    示例:

    SHOW DATABASES;
    1
  • 聚合函数

    • COUNT():返回记录数
    • SUM():返回总和
    • AVG():返回平均值
    • MIN():返回最小值
    • MAX():返回最大值

    示例:

    SHOW DATABASES;
    2

5.3 更新数据

SHOW DATABASES;
3

示例:

SHOW DATABASES;
4

5.4 删除数据

SHOW DATABASES;
5

示例:

SHOW DATABASES;
6

6. 连接 (JOIN) 操作

  • 内连接 (INNER JOIN): 返回两个表中匹配的记录。

    SHOW DATABASES;
    7
  • 左连接 (LEFT JOIN): 返回左表中的所有记录,即使右表中没有匹配。

    SHOW DATABASES;
    8
  • 右连接 (RIGHT JOIN): 返回右表中的所有记录,即使左表中没有匹配。

    SHOW DATABASES;
    9

7. 索引 (Index)

索引用于提高查询速度。

  • 创建索引

    DROP DATABASE db_name;
    0
  • 删除索引

    DROP DATABASE db_name;
    1

8. 事务 (Transaction)

事务确保一组 SQL 操作要么全部执行,要么全部不执行。

  • 开始事务

    DROP DATABASE db_name;
    2
  • 提交事务

    DROP DATABASE db_name;
    3
  • 回滚事务

    DROP DATABASE db_name;
    4

9. 视图 (View)

视图是基于 SQL 查询的虚拟表。

  • 创建视图

    DROP DATABASE db_name;
    5
  • 删除视图

    DROP DATABASE db_name;
    6

10. 存储过程 (Stored Procedure)

存储过程是一组预编译的 SQL 语句,封装起来可以复用。

  • 创建存储过程

    DROP DATABASE db_name;
    7
  • 调用存储过程

    DROP DATABASE db_name;
    8
  • 删除存储过程

    DROP DATABASE db_name;
    9

11. 触发器 (Trigger)

触发器在某个事件(如插入、更新或删除)发生时自动执行。

  • 创建触发器

    CREATE TABLE table_name (
      column_name1 data_type constraints,
      column_name2 data_type constraints,
      ...
    );
    0
  • 删除触发器

    CREATE TABLE table_name (
      column_name1 data_type constraints,
      column_name2 data_type constraints,
      ...
    );
    1

12. 权限管理

  • 创建用户

    CREATE TABLE table_name (
      column_name1 data_type constraints,
      column_name2 data_type constraints,
      ...
    );
    2
  • 赋予权限

    CREATE TABLE table_name (
      column_name1 data_type constraints,
      column_name2 data_type constraints,
      ...
    );
    3
  • 撤销权限

    CREATE TABLE table_name (
      column_name1 data_type constraints,
      column_name2 data_type constraints,
      ...
    );
    4
  • 删除用户

    CREATE TABLE table_name (
      column_name1 data_type constraints,
      column_name2 data_type constraints,
      ...
    );
    5

13. 常用工具

  • EXPLAIN: 查看查询的执行计划。

    CREATE TABLE table_name (
      column_name1 data_type constraints,
      column_name2 data_type constraints,
      ...
    );
    6
  • SHOW PROCESSLIST: 查看当前运行的 SQL 查询。

    CREATE TABLE table_name (
      column_name1 data_type constraints,
      column_name2 data_type constraints,
      ...
    );
    7

这是 MySQL 的完整语法概述,适用于基本数据库操作、数据查询、表结构管理、索引、事务、存储过程等内容。通过学习和使用这些语法,能够有效管理和查询数据库。