美文网首页Java
MySQL多表操作

MySQL多表操作

作者: 强某某 | 来源:发表于2018-12-15 11:09 被阅读6次

外键约束

-- 给product中的cno添加一个外键约束
-- 修改表product给cno添加外键并且关联到category表的cid上面
-- references关联的列必须是主键
alter table product add foreign key(cno) references category(cid);
-- 如果添加了外键约束,比如说向product表中添加了一个cno在category中cid不存在的值,则会失败,同理添加外键时候如果不匹配也会失败。

-- 建表的时候创建外键
create table student(
    oid int ,
    pid int,
    foreign key(oid) references user(kid)
    foreign key(pid) references order(id)
)

唯一约束和主键约束


  • 唯一约束:列表内容必须唯一,但是可以为空 unique
    • 不能作为其它表的外键
    • 可以有多个
  • 主键约束: 默认必须不能为空且唯一
    • 外键一般都是指向另外一张表的主键
    • 一张表只能有一个

多表查询

-- 交叉连接查询(笛卡儿积)
-- 查询了两张表(一般结果无意义,不过可以通过条件过滤,例如where)
select * from product p,student s where p.cno=s.sid;

-- 内连接查询
-- 隐式内链接
select * from product p,student s where p.cno=s.sid;
-- 显式内链接(效果同上,on后面跟条件)
select * from product p inner join student s on p.cno=s.sid;

-- 外连接查询
-- 左外连接(左表中数据全部查询出来,如果右边没遇对应的数据则显示NULL)
select * from product p left outer join student s on p.cno=s.sid;

-- 右外连接(右表中数据全部查询出来,如果左边没遇对应的数据则显示NULL)
select * from product p right outer join student s on p.cno=s.sid;

> 内外连接在查询结果上面的区别就是内链接必须匹配条件而且无null值一般

-- 分页查询
select * from student limit 1 ,10;
-- 子查询
select * from student where age>(select cage from  people where name='sdas');
select pname,(select cname from catergory c where p.cno=c.cid) from product p;
补充:大部分情况下,连接查询和子查询可以互用

相关文章

  • MySQL 多表操作

    day07-多表操作 今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建...

  • 2018-03-20

    MYSQL查询语句 MYSQL复杂操作语句 MYSQL多表查询方法 函数部分

  • mysql数据库-多表查询

    今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建及多表的查询 掌握MY...

  • MYSQL——多表操作

    MySQL多表和事务 一 表关系【重点】 1.1 概述 ​ 现实生活中,实体(班级)与实体(学生)之间肯定是有...

  • MySQL多表操作

    外键约束 唯一约束和主键约束 唯一约束:列表内容必须唯一,但是可以为空 unique不能作为其它表的外键可以有多...

  • MySQL多表操作

    Hi, guys!yeah,it's me again! 1. 表关系的概述 1. 1 表关系的概念 现实生活中,...

  • 02MySQL的多表操作

    MySQL的多表操作 1 多表关系 MySQL多表之间的关系可以概括为:一对一、一对多/多对一关系,多对多 1.1...

  • 子查询与连接2

    连接 MySQL在SELECT语句、多表更新、多表删除语句中支持JOIN操作。 数据表参照 tab...

  • 四、MySQL多表操作

    联合查询 连接查询 子查询 示例 不管是大型还是小型项目,一个数据库里都会有N张表,表之间也通过一对一、多对一或者...

  • sql自学笔记(七)

    连接 MySQL在SELECT语句、多表更新、多表删除语句中支持JOIN操作 语法结构 数据表参照 数据表可以使用...

网友评论

    本文标题:MySQL多表操作

    本文链接:https://www.haomeiwen.com/subject/tjoohqtx.html