MySQL中的约束及修改问题,扫地阿姨看完都学会了

)CHARSET = utf8;

INSERT INTO Student(stuName,phone)

VALUE (001,‘kaka’,100015);

INSERT INTO Student(stuName,phone)

VALUE (002,‘kaka’,1000154);

INSERT INTO Student(stuName,phone)

VALUE (003,‘kaka’,NULL);

域完整性约束

限制列的每一个单元格的数据正确性

  1. 非空约束

NOT NULL 非空,约束此列的每一个单元格不允许有NULL值;

#非空约束,必须有值

CREATE TABLE emp(

id INT PRIMARY KEY AUTO_INCREMENT,

empName VARCHAR(20) NOT NULL,#约束名字一列必须有值

address VARCHAR(50) NOT NULL

)CHARSET = utf8;

INSERT INTO emp (empName,address) VALUE (‘kaka’,‘xi`an’);

  1. 默认值约束

DEFAULT 为列赋予默认值,当新增的数据不指定值时,写DEFAULT,以定义好的默认值进行填充;

#默认值约束

CREATE TABLE emp(

id INT PRIMARY KEY AUTO_INCREMENT,

empName VARCHAR(20) NOT NULL,#约束名字一列必须有值

address VARCHAR(50) NOT NULL,

sex CHAR(1) DEFAULT ‘女’#不给值填充默认值女

)CHARSET = utf8;

INSERT INTO emp (empName,address,sex) VALUE (‘kaka’,‘xi`an’,DEFAULT);

  1. 引用完整性约束

语法:CONSTRAINT 引用名 FOREIGN KEY (列名) REFERENCES 被引用表名(列名)

FOREIGN KEY 引用外部表的某5个列的值,新增数据时,约束此列的值必须是被引用表中存在的值

#引用完整性约束

#专业表

CREATE TABLE Speciality(

id INT PRIMARY KEY AUTO_INCREMENT,#自动增长

SpecialName VARCHAR(20) UNIQUE NOT NULL#唯一且不为空

)CHARSET = utf8;

#课程表

CREATE TABLE subject(

subjectid INT PRIMARY KEY AUTO_INCREMENT,

subjecname VARCHAR(20) UNIQUE NOT NULL,

subjecthours INT DEFAULT 20,#默认值20

specialid INT NOT NULL,

CONSTRAINT fk_subject_specialid#外键

FOREIGN KEY(specialid)

REFERENCES Speciality(id)

)CHARSET=utf8;

#存在引用关系的表。要先添加被引用的表数据(主键表).再添加引用表的数据(外键表)

INSERT INTO Speciality (SpecialName) VALUES(‘Java’);

INSERT INTO Speciality (SpecialName) VALUES(‘HTML5’);

INSERT INTO subject(subjecname,subjecthours,specialid)

VALUES(‘JavaSE’,10,1);

INSERT INTO subject(subjecname,subjecthours,specialid)

VALUES(‘JavaScript’,20,2);

  • 两张表存在引用关系时,执行删除操作注意,先删除从表(引用表、外键表),再删除主表(被引用表、主键表;

#eg:删除Speciality

DROP TABLE Speciality;#先删除主表,容易造成外键表数据孤立,不可先删除

DROP TABLE subject;#先删除引用表后删除主表

约束创建整合

创建带有约束的表

  1. 创建Grade表

在这里插入图片描述

#Grade

CREATE TABLE Grade(

GradeId INT PRIMARY KEY AUTO_INCREMENT,#主键、自增

GradeName VARCHAR(20) UNIQUE NOT NULL#唯一、非空

)CHARSET = utf8;

SELECT * FROM Grade;

INSERT INTO Grade(GradeName) VALUES(‘JAVA’);

INSERT INTO Grade(GradeName) VALUES(‘HTML’);

INSERT INTO Grade(GradeName) VALUES(‘Spring’);

  1. 创建Student表

在这里插入图片描述

#Student表

CREATE TABLE Student(

student_id VARCHAR(50) PRIMARY KEY,#主键

student_name VARCHAR(50) NOT NULL,#非空

sex CHAR(2) DEFAULT ‘男’,#默认男

borndate DATE NOT NULL,#非空

phone VARCHAR(11),

GradeId INT NOT NULL,#非空

CONSTRAINT fk_student_gradeId #外键约束

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

总结

一般像这样的大企业都有好几轮面试,所以自己一定要花点时间去收集整理一下公司的背景,公司的企业文化,俗话说「知己知彼百战不殆」,不要盲目的去面试,还有很多人关心怎么去跟HR谈薪资。

这边给大家一个建议,如果你的理想薪资是30K,你完全可以跟HR谈33~35K,而不是一下子就把自己的底牌暴露了出来,不过肯定不能说的这么直接,比如原来你的公司是25K,你可以跟HR讲原来的薪资是多少,你们这边能给到我的是多少?你说我这边希望可以有一个20%涨薪。

最后再说几句关于招聘平台的,总之,简历投递给公司之前,请确认下这家公司到底咋样,先去百度了解下,别被坑了,每个平台都有一些居心不良的广告党等着你上钩,千万别上当!!!

Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。
在这里插入图片描述

样,先去百度了解下,别被坑了,每个平台都有一些居心不良的广告党等着你上钩,千万别上当!!!

Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。
[外链图片转存中…(img-TYMVPKjb-1710700081237)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值