1. 外键(了解即可)


  1. 什么是外键?
  • 假设有两张表,一个学生表,一个老师表,它们都有一个字段叫 “班级” ,
  • 我们把学生表的字段 “班级” 做为外键来引用老师表的字段 “班级” ,
  • 这样,两张表就关联了起来,这就是外键。
  1. 实际开发中
  • 我们不用SQL来操作外键,也就是物理外键、数据库级别的外键我们不用!避免数据库过多操作繁杂!
  • 如下图:

QQ图片20200701223749.png

  • 所以,用SQL来搞外键非常麻烦,而且删除表的时候也非常麻烦,得先删除引用别人的表,再删除被引用的表!所以我们不用物理外键,也就是不用数据库级别的外键,我们用JAVA程序来实现!
  • 若我们想使用多张表的数据,我们就用JAVA程序去实现!

    2、DML语言(重点,全部记住)


DML语言:数据操作语言

  • insert 添加
  • update 修改
  • delete 删除

    2.1、insert 添加

    1. insert into `表名` (`字段名1`, `字段名2`, `字段名3`, ...)
    2. values (值1, 2, 3, ...), (值1, 2, 3, ...), ...;

注意:
**

  1. 第一行的字段名可以全部写出来,也可以写一部分,也可以全部不写!
  • 字段名全写出来:第二行的字段值一定要全部一一对应的写出来!
  • 字段名写一部分:第二行的字段值只要写对应的字段的值就行!但要保证在第一行其他没写出来的字段的字段属性没有勾选上非空,否则你还是得写出该字段的值!
  • 字段名全部不写:第二行的字段值一定要一一对应的写出来!
  1. 第二行values后面的括号表示一行,一个括号表示一行!两个括号表示两行!

举例:
QQ图片20200702105603.png
QQ图片20200702105607.png
QQ图片20200702105610.png

2.2、update 修改

  1. update `表名`
  2. set `字段名1` = 新值, `字段名2` = 新值, ... where 修改范围语句

注意:

  1. where 后面写的是语句,表明要修改的范围
  2. where 后面常用的运算符和关键字: | 运算符或关键字 | | :—-: | | = > < >= <= != … | | between……and…… | | and && | | or || |

举例:
QQ图片20200702112508.png
QQ图片20200702112511.png
QQ图片20200702112513.png

2.3、delete 删除

  1. delete from `表名` where 删除范围语句

举例:
QQ图片20200702114006.png
QQ图片20200702114010.png
QQ图片20200702114013.png

2.3.1、truncate 清空表

  1. truncate `表名`;

2.3.2、delete和truncate的区别

  • 相同点:都不会删除表结构,都能删除表里的全部数据
  • 不同点

    • truncate 会重新设置自增列,计数器会归零,而delete不会
    • truncate 不会影响事务

      2.3.3、关于delete(了解即可)

      使用不同的引擎用delete删除后重启数据库的现象:
  • InnoDB:自增列会重新从1开始(因为是存在内存中的,断电即失)

  • MyISAM:继续从上一个自增量开始(因为是存在文件中的,不会丢失)