MySQL-约束

创建员工表emp,满足一些约束条件,如图所示:

drop table if exists emp; -- 如果员工表存在,删除员工表
create table emp(
id int PRIMARY KEY auto_increment, -- 员工id,主键且自增长
name varchar(50) NOT NULL UNIQUE, -- 员工姓名,不能为空,且唯一
joindate DATE NOT NULL, -- 员工入职日期,不能为空
salary double(7,2) NOT NULL, -- 员工工资,不能为空
bonus double(7,2) DEFAULT 0 -- 员工奖金,如果没有奖金,默认为0
);
SELECT * from emp;
INSERT INTO emp(id,name,joindate,salary,bonus) VALUES(1,'zhangsan','2017-2-2',6000.00,800.00);


 

 

 


 外键约束

练习:

创建两个表,部门表和员工表,通过员工表的dep_id和部门表的id来建立两个表链接,对员工表添加外键fk_emp_dep

drop TABLE if EXISTS emp;
drop table if EXISTS dep;

-- 先创建部门表(主表)
CREATE TABLE dep(
id INT PRIMARY key auto_increment, -- 部门id
dep_name varchar(20), -- 部门名称
addr varchar(20) -- 部门地址
);

CREATE TABLE emp(
id INT PRIMARY key auto_increment, -- 员工id
name VARCHAR(20), -- 员工姓名
age INT, -- 员工年龄
dep_id INT, -- 员工部门id
-- 添加外键dep_id,关联dep表的主键id
CONSTRAINT fk_emp_dep FOREIGN key(dep_id) REFERENCES dep(id)
);


select * from dep;
select * from emp;


-- 添加部门
INSERT INTO dep(dep_name,addr) VALUES('研发部','广州'),('销售部','深圳');
-- 添加员工
INSERT INTO emp(name,age,dep_id) VALUES
('张三',23,1),
('李四',26,1),
('王五',24,1),
('赵六',27,2),
('孙七',20,2),
('周八',26,2);


-- 删除外键
ALTER table emp drop FOREIGN KEY fk_emp_dep; 
-- 添加外键
ALTER table emp add CONSTRAINT fk_emp_dep FOREIGN key(dep_id) REFERENCES dep(id);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL-xmind 是一种将 MySQL 数据库架构可视化为思维导图的工具。它可以帮助开发人员更好地理解和管理数据库结构。 使用 MySQL-xmind,我们可以通过图形化的方式表示数据库中的表、字段、关系和约束等元素。这样做可以使得数据库设计更加直观、易于理解。通过思维导图的形式,我们可以清楚地看到表之间的关系,如外键约束和关联关系。这对于开发人员在编写 SQL 查询和构建复杂查询时非常有帮助,因为他们可以更轻松地理解表之间的连接和关联。 此外,MySQL-xmind 还可以帮助我们进行数据库的维护和优化。我们可以使用思维导图来查看表的索引、主键和其他约束,从而更好地了解数据库的性能和结构。通过检查思维导图,我们可以发现潜在的问题,如冗余数据、不合理的索引或缺失的关联。 一些功能强大的特性,如批量生成 SQL 语句、导出导入数据库结构等,也使得 MySQL-xmind 成为一个非常实用的工具。它允许我们快速生成 SQL 脚本,以便在不同的环境中部署数据库结构。同样地,我们可以将数据库结构导出为思维导图,方便与团队成员共享和讨论。 总之,MySQL-xmind 是一个方便实用的工具,可以对 MySQL 数据库的结构进行可视化管理和优化。它帮助了开发人员更好地理解数据库的设计和关系,并提供了一些非常有用的功能,如批量生成 SQL 语句和导出导入数据库结构等,使得数据库管理更加高效和便捷。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值