day 1 学习MySQL数据库作业
- 创建员工表 (工号、姓名、性别、出生日期、入职日期、月薪、职位)
- 思考员工表跟部门表之间有没有关系?如果有是什么关系?如何建立两张表的关系?
1.创建员工表 (工号、姓名、性别、出生日期、入职日期、月薪、职位)
创建员工表
在创建的数据库为hrs下创建员工表
create table tb_staff(dno integer not null comment '工号',dname varchar(20) not null comment '姓名',dsex varchar(20) not null comment '性别',ddateb varchar(20) not null comment '出生日期',ddateen varchar(20) not null comment '入职日期',dsalary integer not null comment '月薪',dpost varchar(20) not null comment '职位',primary key (dno))engine=innodb comment='员工表';
查看员工表是否创建
show tables;
显示tb_staff员工表数据
desc tb_staff;
修改表名
alter table tb_staff rename to staffs;
向表中录入一名员工的信息
insert into staffs(dno, dname, dsex, ddateb, ddateen, dsalary, dpost)values(1,'张三','男','1978年8月21日','2001年6月1日','5000','员工');
查看录入的员工工号1的信息
select * from staffs;
向表中录入多名员工的信息
insert into staffs(dno, dname, dsex, ddateb, ddateen, dsalary, dpost)values(2,'王二','男','1985年5月20日','1993年2月11日','8000','员工'), (3,'小佳','女','1978年7月4日','1999年10月18日','4500','员工'), (4,'小明','男','1987年3月15日','2006年7月10日','6500','员工'), (5,'李华','男','1979年1月19日','2010年9月13日','6000','员工'), (6,'王菁','女','1978年9月29日','2012年5月1日','7500','组长'), (7,'周磊','男','1989年12月6日','1999年3月23日','5000','员工'), (8,'小星','女','1990年11月11日','20013年2月12日','4800','员工');
查看多名员工的信息
select * from staffs;
思考员工表跟部门表之间有没有关系?如果有是什么关系?如何建立两张表的关系?
员工表和部门表之间有:一对多;一对一
一对多:一个部门有多个员工
一对一:一个员工有一个部门
一对多:先创建部门表,再创建员工表,外键字段建在多的一方
外键字段:foreign key(少的一方id) references 多的一方表(id)
一对一表:外键字段可以建在任何一方