SQL学习笔记 分享(第二期)

SQL笔记第二期


SQL数据库约束知识点以及代码总结



前言

本期涉及SQL约束的知识点方便用来复习或参考


约束

一、约束的概念和分类

CREATE TABLE emp(
    id INT PRIMARY KEY auto_increment,-- 员工id,主键且 自增长---auto_increment
    ename VARCHAR(50) NOT NULL UNIQUE,-- 员工姓名,非空且唯一
    joindate DATE NOT null , -- 入职日期,非空
    salary DOUBLE (7,2)NOT null,-- 工资,非空
    bonus DOUBLE (7,2)DEFAULT 0 -- 奖金,如果没有奖金默认为0

);

二、默认约束

-- 演示默认约束
INSERT INTO emp(id,ename,joindate,salary) VALUES(3,'王五','1999-11-11',8800);
INSERT INTO emp(id,ename,joindate,salary,bonus) VALUES(4,'赵六','1999-11-11',8800,NULL);-- 不给值的时候才能默认,给null值就是null

三、非空约束:

-- 演示非空约束
INSERT INTO emp(id,ename,joindate,salary,bonus) VALUES(3,NULL,'1999-11-11',8800,5000);

四、唯一约束:

-- 演示唯一约束
INSERT INTO emp(id,ename,joindate,salary,bonus) VALUES(3,'李四','1999-11-11',8800,5000);

五、主键约束:

-- 演示主键约束,非空且唯一
INSERT INTO emp(id,ename,joindate,salary,bonus) VALUES(NULL,'张三','1999-11-11',8800,5000);

INSERT INTO emp(id,ename,joindate,salary,bonus) VALUES(1,'张三','1999-11-11',8800,5000);

INSERT INTO emp(id,ename,joindate,salary,bonus) VALUES(2,'李四','1999-11-11',8800,5000);

六、约束名称、描述、关键字:

七、外键约束:

-- 部门表
CREATE TABLE dept(
    id INT PRIMARY KEY auto_increment,-- 添加主键约束,且自增长
    dep_name VARCHAR(20),
    addr VARCHAR(20)
);
-- 员工表
CREATE table emp2(
    id INT PRIMARY key auto_increment,
    NAME VARCHAR(20),
    age INT,
    dep_id INT,
    
    -- 添加外键 dep_id,关联dept表的id主键
    CONSTRAINT fk_emp_dept FOREIGN KEY(dep_id) REFERENCES dept(id)
    
);
-- 添加两个部门
INSERT INTO dept(dep_name,addr) VALUES('研发部','广州'),('销售部','深圳');

-- 添加员工,dep_id表示员工所在的部门
INSERT INTO emp2(NAME,age,dep_id)VALUES('张三',20,1),('李四',20,1),('王五',20,1),('赵六',20,2),('孙七',22,2),('周八',18,2);

-- -----------------
SELECT *FROM emp2;

DROP TABLE dept;


-- 删除外键
ALTER TABLE emp2 DROP FOREIGN KEY fk_emp_dept;

-- 建完表后,添加外键

ALTER TABLE emp2 ADD CONSTRAINT fk_emp_dept FOREIGN KEY(dep_id) REFERENCES dept(id);

查看外键是否成功建立物理连接:

-- 删除外键
ALTER TABLE emp2 DROP FOREIGN KEY fk_emp_dept;

外键删除后,主表与从表的物理连解除:

建完表后,成功添加外键:

-- 建完表后,添加外键

ALTER TABLE emp2 ADD CONSTRAINT fk_emp_dept FOREIGN KEY(dep_id) REFERENCES dept(id);

在建完表之后也能成功添加外键并建立物理连接:


总结和致谢

以上就是今天要讲的内容,本文仅仅简单介绍了sql中约束的语法以及注意事项,而sql还有很多需要学习的知识,本文对初学者还是有一定帮助的,主要是这个程度我自己用感觉是够了,有兴趣的可以自己去b站观看视频,学习数据库设计部分,SQL到此为止,有时间我会再写一份使用JDBC的文章,帮助小白避开一些问题,感谢您的观看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值