MySQL 总结

  一、基础

  1、【事物】

  2【锁】

  3、【分库分表】

  4、三范式

    第一范式:每个列都不可以再拆分。

      (一个列只有一个值)

    第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。

      (学号,科目号,姓名,成绩)=>(学号,科目号,成绩)(学号,姓名)
    第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键。
       在设计数据库结构的时候,要尽量遵守三范式,如果不遵守,必须有足够的理由。比如性能。事实上我们经常会为了性能而妥协数据库的设计。
      (不存在传递依赖)
      (学号,姓名,学院)=>(学号,姓名)(学院,学号)

二、SQL 使用

  1、CRUD

    INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );

    DELETE FROM table_name [WHERE Clause]

    UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]

    SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][ OFFSET M]

  2、其他

    WHERE:UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]

    LIKE: SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'

    UNION: SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions] UNION [ALL | DISTINCT] SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions];

    ORDER BY: SELECT field1, field2,...fieldN FROM table_name1, table_name2... ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]

    GROUP BY: SELECT column_name, function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name;

    INNER JOIN、LEFT JOIN、RIGHT JOIN
    IS NULL、IS NOT NULL

    EXISTS:SELECT column_name(s) FROM table_name WHERE EXISTS (SELECT column_name FROM table_name WHERE condition);

    LIMIT:返回需要的记录条数:SELECT column_name(s) FROM table_name LIMIT number;

 三、MySQL 优化

  1、【索引】

  2、【Explan】

  3、【MySQL 优化】

 
posted @ 2023-04-20 12:17  外向孤独症_Xwb  阅读(8)  评论(0编辑  收藏  举报