约束,数据库设计,多表查询,事务

本文介绍了数据库中的约束概念,重点讲解了外键约束在一对一、一对多和多对多关系中的应用,以及如何进行多表查询(包括内连接和外连接)。同时涵盖了事务处理,如开启、提交和回滚事务的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

约束

约束概念,分类

约束案例

实例:

外键约束

1.概念:外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性

2.语法

(1)添加约束

 ----创建表时添加外键约束

create table  表名(

列名  数据类型,

.....

CONSTRAING   外键名称   FOREING  KEY (外键列名)  REFERENCES   主表(主表列名)

);

-----建完表后添加外键约束

ALTER  TABLE  表名  ADD  CONSTRAINT  外键名称  FOREING  KEY  (外键字段名称)  REFERENCES   主表名称(主表列名称);

alter  table  emp  add  CONSTRAINT fk_emp_dept  foreing  key(dep_id)REFERENCES dept(id);

(2)删除约束

ALTER  TABLE  表名  DROP  FOREING  KEY  外键名称;

alter table emp drop foreing  key  fk_emp_dept;

数据库设计

表关系:1.一对一

如:用户和用户详情

一对一关系多用于表拆分,将一个实体经常使用的字段放一张表,不经常使用的字段放另一张表,用于提升查询性能

实现方式:在任意一方加入外键,关联另一方主键,并且设置外键为唯一(UNIQUE)。

2.一对多

如:部门和员工

一个部门对于多个员工,一个员工对应一个部门

实现方式:建立第三张表,中间表至少包含两个外键,分别关联两方主键

3.多对多

如:商品和订单

一个商品对应多个订单,一个订单包含多个商品

实现方式:在多的一方建立外键,指向一的一方的主键

多表查询

笛卡尔积:取A,B集合所有组合情况                   

如:select  *  from  emp, dept;

多表查询简介

多表查询:从多张表查询数据

连接查询

内连接:

相当于查询A,B交集数据

注:INNER可省略;可以给表起别名,如:

select  ti.name,emp,t1.gender,t2.dname  from emp  t1  ,  dept  t2  where  t1.dep_id=t2.did;

如:select  *  from  emp , dept  where emp.dep_id  =  dept.did;

外连接

1.外连接查询语法

左外连接:相当于查询A表所有数据和交集部分数据

右外连接:相当于查询B表所有数据和交集部分数据

子查询

1.子查询的概念:查询中嵌套查询,称嵌套查询为子查询

2.子查询根据查询结果不同,作用不同:

单行单列

多行单列

多行多列

事务

开启事务

start  transaction;或者 begin;     

提交事务

commit;

回滚事务

rollback;

                                      

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值