1.一个实体(student)的某个字段(class_id)指向另一个实体的主键(class_id)就称这个student实体的class_id是外键.
2.被指向的实体称为主实体(主表),,也叫父实体(父表),负责指向的实体称为从实体(从表),也叫子实体(字表).
3.外键是为了约束处于关系内的实体:增加字表记录时是否有与之对应的父表记录,删除或者更新主表记录从表应该怎么处理相关记录.
4.设置级联操作:主表更新与主表删除,使用关键字 On update 与 On delete来标识.
5.cascade关联操作如果主表被更新或者删除那么从表也会被执行相应操作.如果主表某一记录被删除,从表设置为null,表是不指向任何主表记录.restrict表是拒绝主表相关操作.
6.修改外键通过先删除后新建,修改表完成.
7.alter table table_name drop drop foreign key foreign_name;
alter table table_name add foreign key (class_id) reference itcast_class (class_id);
8.创建外键语句后面可以加上on delete set null或者on delete cascade或者on update restrict可以多种组合.
9.更改表的存储引擎例如create table room(room_id int primary key auto_increment,room_no char(3))engine mysam character set utf8;
mysam引擎存储一张表由frm(结构),myd(数据),myi(索引 )三个文件组成
innodb引擎所有表使用相同的表空间存储数据与索引.
innodb与mysam区别,只有innodb支持外键.
10.select的子句order by 字段 升序|降序(asc|desc);
11.允许多字段排序,指的是先按第一个字段排序,如果不能区分才使用下一个字段排序.
12.asc(ascending) desc(descending)
13.select的另一个子句limit,用于限制获得的记录数量,放在语句最后面,例如.......limit 1;只获得一条记录.
14.limit语法limit offset,rowcount;规则与Java中的substr一样,从offset点取count条记录.偏移量offset的索引从零开始.offset可以省略默认值为0.
15.select distinct * from table_name;去除相同搜索结果.(默认为all)
16.union联合查询.详见下一次笔记.