七、外键(有主从关系的表,删除数据时先删主表再删从表;插入数据时先插主表再插从表)
1、添加外键约束
alter table 需要建立外键的表B add [constraint 外键名字] foreign key(需要建立外键的字段名B.Aid) references 主键表A(主键字段名A.ids);
ALTER TABLE student ADD CONSTRAINT fk_GradeID FOREIGN KEY(GradeID) REFERENCES grade(GradeID);
2、删除外键
ALTER TABLE student DROP foreign key FK_studentNo;
ALTER TABLE student DROP index FK_studentNo;
八、子查询
1、in和not in获取多条记录
SELECT * FROM subject WHERE classHour IN(100,110,120);
2、exists和not exists判断是否存在记录
3、in和exists
区别:如果内表比外表数据多,使用exists();如果外表比内表数据多,使用in()
原因:in()是在内存里遍历比较,内存比较快;而exists需要查询数据库,查询数据库消耗的性能高
4、is null和is not null判断是否为空
SELECT* FROM student WHERE address="" OR address IS NULL;
5、from后嵌套子查询,必须起别名
MySQL_3复杂语句
最新推荐文章于 2023-04-13 20:15:01 发布