2020年2月16日学习情况总结
一、说在前面
昨天复习了BootStrap和JDBC的知识,并且学习了一些新的sql语句关键字的使用方法,今天学习了MYSQL的多表连接和XML的部分内容。往后看看还有好多任务没有完成,看来开学的考试危在旦夕了 T_T。。。
二、今天学习到的新内容
今天收获最大的就是多表关系的处理,学习完之后真的是恍然大悟,原来上个学期自己就已经在用多表了,因为看着旁边的大佬创建好多个表关联到一起,自己也照着做,不过比较简陋麻烦一些,原来我和多表关联之间只差一个sql语句!!
(1)表与表之间有三种关系,一对一(比较少见),一对多,多对多
一对多建表原则:在从表(多方)创建一个字段,字段作为外键指向主表(- - 方)的主键.
多对多关系建表原则:需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键. (就是将一个多对多拆分成两个一对多。)
从表不能够添加(更新),主表中不存在的数据
主表不能够删除(更新),从表中已经使用的数据
(2)相关语句
添加约束的语法
alter table 从表 add[constraint] [外键名称] foreign key (从表外键在字段名)references 主表(主表的主键);
[外键名称]用于取消外键,一般以"_fk"结尾
alter table 从表 drop foreign key 外键名称
交叉连接查询
隐式和显示内连接都会将A(主表)得全部和涉及到A中数据B表中的数据查询出来
左外连接会将左边的及A表全部搜索出来,右外连接是将B表全部搜索出来
子查询
一条select语句结果作为另- -条select语法- -部分(查询条件,查询结果,表等)。