跳转至

MySQL

基础

  • select
  • like
  • as
  • group by
  • join on
  • having
  • limit

写sql和执行sql的顺序

  1. select
  2. from
  3. join on 表名
  4. where
  5. group by
  6. having
  7. order by
  8. limit

主键、外键

  • 主键(Primary Key):主键是用于唯一标识数据库表中每一行数据的字段。它必须保证在表中的每一行都有唯一且非空的值。主键的作用是确保数据完整性和唯一性。在MySQL中,可以使用PRIMARY KEY关键字来定义主键约束。

  • 外键(Foreign Key):外键是一个或多个表中的字段,与另一个表的主键字段建立关联。它创建了表与表之间的关系,用于维护数据之间的完整性。外键确保了引用表中的值必须在被引用表的主键中存在。在MySQL中,可以使用FOREIGN KEY关键字来定义外键约束。

注意点

值得注意的是:

  • 在创建外键时,引用列和被引用列的数据类型(varchar、bigint……)必须一致
  • 外键约束的删除和更新规则中
    • 对于新手来说,最好选择相对保守的选项(以避免意外删除或更改数据造成的问题)常见的选择是:
    • 【ON DELETE】 RESTRICT:限制删除,当试图删除引用表中的行时,如果有关联的外键存在,会阻止删除。
    • 【ON UPDATE】 CASCADEON UPDATE RESTRICT:如果需要更新,可以选择允许级联更新或限制更新。

规则

  • ON DELETE:定义在引用表中的行被删除时,外键字段的行为。
    • CASCADE:如果引用表中的行被删除,那么相关的外键行也会被删除。
    • SET NULL:如果引用表中的行被删除,外键字段会被设为 NULL。
    • RESTRICT:阻止删除操作,只要外键约束存在,就不允许删除引用表中的行。
    • NO ACTION:与 RESTRICT 类似,在某些情况下,不允许对引用表进行操作。
  • ON UPDATE:定义在引用表中的行被更新时,外键字段的行为。
    • CASCADE:如果引用表中的主键被更新,相关的外键行也会被更新。
    • SET NULL:如果引用表中的主键被更新,外键字段会被设为 NULL。
    • RESTRICT:阻止更新操作,只要外键约束存在,就不允许更新引用表中的主键。
    • NO ACTION:与 RESTRICT 类似,在某些情况下,不允许对引用表进行操作。