Java-MySql学习(三)--外键、DML语句管理数据库数据

外键

【什么是外键】

如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。

假设我们有一个老师表(id,name)

其中id是老师表的主键,id可以唯一的标识一条记录,

和一个学生表(id,name,grade,tid)

其中id是学生表的主键,每个学生的id是唯一的,而tid则不是唯一的,但它和老师表中的id对应,且老师表中的id是主键,则称tid为学生表的外键foreign key

【外键的作用】

保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值或使用空值。

【创建外键】
<1.创建字表时同时定义外键
-- 创建老师表
CREATE TABLE `teacher` (
  `id` INT(10) NOT NULL,
  `name` VARCHAR(30) DEFAULT NULL,
  PRIMARY KEY (`id`)
) 

-- 创建学生表
CREATE TABLE `student` (
  `id` INT(10) NOT NULL,
  `name` VARCHAR(30) DEFAULT NULL,
  `tid` INT(10) DEFAULT NULL,
  PRIMARY KEY (`id`),
-- ===========================定义外键======================================  
  KEY `fktid` (`tid`),
  CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`)
-- ===========================定义外键结束===================================
)
<2.创建完之后,添加外键
-- alter table 表名 add constraint FK_ID foreign key(外键字段名) references 外表表名(主键字段名)

ALTER TABLE student
ADD CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`)
【注意】

在删除具有主外键关系的表时,要先删除子表,再删除从表

通过DML语句管理数据库数据

在这里插入图片描述

【添加数据 INSERT】

语法:

INSERT INTO 表名[(字段1,字段2,字段3,...)] VALUES('值1','值2','值3')

如下:
在这里插入图片描述

【修改数据 UPDATE】

语法:

UPDATE 表名 SET name=value [where condition]
-- name 为要修改的字段属相列的名字
-- condition 为筛选条件 , 如不指定则修改该表的所有列数据

如下:
在这里插入图片描述

【删除数据 】

语法:

DELETE FROM 表名 [WHERE condition];

如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值