day 1 学习MySQL数据库作业

  1. 创建员工表 (工号、姓名、性别、出生日期、入职日期、月薪、职位)
  2. 思考员工表跟部门表之间有没有关系?如果有是什么关系?如何建立两张表的关系?

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)
一对一表:外键字段可以建在任何一方