sql_03_多表关系_级联操作

  • #数据库的设计(数据库的设计直接影响到项目的开发难易层度)根据范式进行设计 #多表之间的关系:1vs1;1vs对;多vs多 #1vs多:在多的一方建立外键,指向1的一方的主键 #多vs多:借助第三方中间表:中间表至少包含两个字段:这两个字段作为第三张表的外键,分别指向两张表的主键 #1vs1:学生和身份证的关系:可以在任意一方添加唯一外键指向另外一方的主键
  • 数据库的备份与还原
  • dba来管理
  • 1:命令行的方式
  • 备份的语法:mysqldump -u应户名 -p密码 数据库的名称 > 保存路径
  • 还原的语法:1登录数据库:
  •  				 2创建数据库
    
  •  				 3使用数据
    
  •  				 4执行数据库
    
  • 2:图形化界面的方式
  • =====================================================================
  • 多表查询***************************************************************************************************

对标查询分类:
内联接查询
隐式(使用where条件消除无用数据:如 a.where id=b.id)、显示:语法:select 字段列表 from 表名1 inner join 表名2 on 条件
内连接查询:
1,从哪些表中查询数据
2,条件是什么
3,查询哪些字段
外连接查询::左外和忧外两种
左外:语法 select 字段列表 from 表1 left outer join 表2 on 条件(out可以不写)-- 查询的是左表所有的数据以及其交集部分
右外:语法 select 字段列表 from 表1 right outer join 表2 on 条件(out可以不写)-- 查询的是有表所有的数据以及其交集部分
子查询:查询中嵌套查询
需求:查询工资最高的员信息
1,查询最高工资是多少
select max(salary) from emp;
2,查询员工信息,并且工资等于最高9000
select * from emp where emp.salary=9000;
3,子查询,
select * from emp where emp.salary=(select max(salary) from emp);
子查询的不同情况:
子查询查询结果是单行单列的:
子查询查询结果是多行单列的:
子查询查询结果是多行多列的:

事务***********************************************************************************************************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值