mysql 常用知识点总结

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

1. 基础概念

  • 数据库 (Database): 数据库是存储数据的容器,里面可以包含多个表。

  • 表 (Table): 表是数据库中的核心元素,包含行(记录)和列(字段)。

  • 行 (Row): 一行数据代表表中的一条记录。

  • 列 (Column): 列是数据的属性,每个列都有一个特定的数据类型。

  • 数据类型 (Data Types): 定义列中数据的类型,如整数、浮点数、字符串、日期等。

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

2. 数据库和表管理

  • 数据库

    • 连接数据库

      mysql -u 用户名 -p
      
    • 创建数据库

      CREATE DATABASE db_name;
      
    • 选择数据库

      USE db_name;
      
    • 查看现有数据库

      SHOW DATABASES;
      
    • 删除数据库

      DROP DATABASE db_name;
      
    • 创建表

      CREATE TABLE table_name (
        column_name1 data_type constraints,
        column_name2 data_type constraints,
        ...
      );
      
      • constraints: 列的约束,如 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;
        
      • 删除列:
        ALTER TABLE table_name DROP COLUMN column_name;
        

3. 表 操作

3.1 基本操作
  • 查询
    SELECT column1, column2, ... FROM table_name;
    # 条件过滤
    SELECT column1, column2, ... FROM table_name WHERE condition; 
    # 排序
    SELECT * FROM table_name ORDER BY column1 [ASC|DESC];
    # 限制个数
    SELECT * FROM table_name LIMIT number;
    
    
  • 插入数据
    INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
    
3.2 聚合函数
  • COUNT():返回记录数
  • SUM():返回总和
  • AVG():返回平均值
  • MIN():返回最小值
  • MAX():返回最大值

示例:

SELECT COUNT(*) FROM students;
3.3 更新数据
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;

示例:

UPDATE students SET age = 21 WHERE id = 1;
3.4 删除数据
DELETE FROM table_name WHERE condition;

示例:

DELETE FROM students WHERE id = 1;

4. 连接 (JOIN) 操作

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

    SELECT columns FROM table1 INNER JOIN table2 ON table1.column = table2.column;
    
  • 左连接 (LEFT JOIN): 返回左表中的所有记录,即使右表中没有匹配。

    SELECT columns FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
    
  • 右连接 (RIGHT JOIN): 返回右表中的所有记录,即使左表中没有匹配。

    SELECT columns FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;
    

5. 视图和索引 (Index)

  • 索引

    • 创建索引

      CREATE INDEX index_name ON table_name (column_name);
      
    • 删除索引

      DROP INDEX index_name ON table_name;
      
  • 视图

    • 创建视图

      CREATE VIEW view_name AS SELECT columns FROM table_name WHERE condition;
      
    • 删除视图

      DROP VIEW view_name;
      

6. 事务 (Transaction)

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

  • 开始事务

    START TRANSACTION;
    
  • 提交事务

    COMMIT;
    
  • 回滚事务

    ROLLBACK;
    

7. 触发器 (Trigger)

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

  • 创建触发器

    CREATE TRIGGER trigger_name BEFORE|AFTER INSERT|UPDATE|DELETE ON table_name
    FOR EACH ROW
    BEGIN
      SQL_statements;
    END;
    
  • 删除触发器

    DROP TRIGGER trigger_name;
    

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值