目录
查看 temp_姓名全拼 数据库创建信息,告诉大家刚才的修改已经生效了
发现联系方式被加在了最后,追求完美主义的你把联系方式的字段位置修改到了姓名之后
所以你先用修改字段名的语句将职工表的WORK字段修改如下表所示:
之后用修改字段数据类型的语句将职工表的SENIORITY字段修改如下表所示:
之后使用指定字段批量插入数据的方式开始往职工表新增这些被标红的八条数据,在新增时不用指定工种、工龄字段
首先修改职工表中Asa的联系方式为17349275853,工龄为3年
之后查询车间表中WS1车间的职工姓名、联系方式、工龄字段信息
此时秘书打来电话说WS2车间的地址在Bleecker Street,主任的联系方式是17792847923,你修改了车间表中WS2车间的地址和主任联系方式
打电话给WS2车间主任,得知Jared和Moore的联系方式分别是18529723749和17697397496,你写了两条update语句来改这两条数据
新增好字段后,再将Moore的是否在职字段修改为“0”,表示他已经离职了
你用查询语句查询了职工表中车间号为WS2并且是否在职字段为1的工号、车间号、职工姓名、在职状态字段数据
但是想到有工龄字段,你查询了职工表中工龄不等于0并且工种不是common的工号、车间号、职工姓名、工种、工龄字段数据
车间表查看主任联系方式以177开头7923结尾的所有字段数据
观察表中数据发现产品编号应该用整数类型,并且设置自动增加,所以你修改了产品编号字段的数据类型,并查看了产品表的字段信息
你看到工种、工龄、是否在职都与表中设置的默认值相同,故使用指定字段添加数据的方式插入了这条数据,只指定了工号、车间号、职工姓名、联系方式字段
你还是用指定字段批量新增数据的方式插入了所有数据,只指定了工号字段
再次用指定字段批量新增数据的方式插入产品表所有数据,只指定工号字段
发现产品编号为6和9的两条记录产品应该是不合格的,你把产品表中产品编号在6,9里的是否合格状态改成了0
身份设定:你的父亲是厂长,在毕业后计划继承家业
随着“互联网+”的不断深入,经济、社会发展加速,各位厂长副厂长会议决定传统的工厂管理方法需要革新,要紧跟时代潮流数字化的管理工厂。他们一致认为你作为厂长接班人,又是计算机相关专业的大专生有义务也有能力做好这件事。
你告诉大家最近正在学习MySQL数据库,作为70/80后他们不知道什么是MySQL,你深知解释了他们也不懂,但碍于面子还是说了MySQL是一种数据库管理系统。他们看你愿意解释所以争先恐后的问,问题越来越多……
什么是数据库?
用户可以对数据库执行什么操作?
答:增、删、改、查。
什么是数据库管理系统?
答:管理数据库中的数据的系统;专门用于创建和管理数据库的软件
你个数据库管理系统可以管理多少个数据库?
答:无数个
那一个数据库有多少张表呢?
答:无数个
每张表是否可以有很多条数据呢?
答:无数个
你解释了这么多他们终于明白了点基础知识,这时他们又问道,这个数据库管理系统这么强大,你要用什么来操作呢?你说要使用SQL语言来操作数据库,他们觉得你好厉害,居然会一种他们从没听过的“外语”,强烈要求你演示一下
你打开了控制台,输入指令登录MySQL
mysql -u root -prain
查看所有数据库
show databases;
告诉他们在学校学习了很多内容,自己也创建了很多个数据库,并一一指给他们看
看完后随手创建了一个新的数据库,名为 temp_姓名全拼
create database temp_zhongjinlin;
将 temp_姓名全拼 数据库的默认字符集改成了 gbk
alter database temp_zhongjinlin default character set gbk;
查看 temp_姓名全拼 数据库创建信息,告诉大家刚才的修改已经生效了
show create database temp_zhongjinlin;
删除 temp_姓名全拼 数据库
drop database temp_zhongjinlin;
退出MySQL
\q
他们看到你的展示后更坚信要你来完成工厂数据库创建,你就数据库创建所需内容和大家讨论,讨论结果是需要创建车间、职工、产品三张表,会后你
创建并使用了数据库 姓名全拼_factory
create database zhongjinlin_factory;
之后根据会议内容整理出每张表的字段信息,并开始创建表
车间表 姓名全拼_workshop
字段名 |
数据类型 |
长度 |
主、外键 |
其他约束 |
备注信息 |
CHAR |
10 |
主键 |
车间号 |
||
ADDRESS |
TEXT |
地址 |
|||
OPEN_DATE |
DATE |
开设时间 |
|||
NAME |
VARCHAR |
10 |
非空,唯一 |
主任姓名 |
create table zhongjinlin_workshop(
-> no char(10) comment "车间号",
-> address text comment "地址",
-> open_date date comment "开设时间",
-> name varchar(10) not null unique comment "主任姓名",
-> primary key(no)
-> );
职工表 姓名全拼_worker
字段名 |
数据类型 |
长度 |
主、外键 |
其他约束 |
备注信息 |
NO |
CHAR |
10 |
主键 |
工号 |
|
SHOP_NO |
CHAR |
10 |
外键workshop (no) |
车间号 |
|
NAME |
VARCHAR |
10 |
非空,唯一 |
姓名 |
|
WORK |
VARCHAR |
30 |
工种 |
create table zhongjinlin_worker(
-> no char(10) comment "工号" primary key,
-> shop_no char(10) comment "车间号",
-> name varchar(10) not null unique comment "姓名",
-> work varchar(30) comment "工种",
-> constraint fk_shop_no foreign key (shop_no) references zhongjinlin_workshop(no)
-> );
产品表 姓名全拼_product
字段名 |
数据类型 |
长度 |
主、外键 |
其他约束 |
备注信息 |
NO |
CHAR |
10 |
主键 |
产品编号 |
|
WORK_NO |
CHAR |
10 |
外键worker(no) |
工号 |
|
WEIGHT |
DOUBLE |
重量 |
create table zhongjinlin_product(
-> no char(10) comment "产品编号" primary key,
-> work_no char(10) comment "工号",
-> weight double comment "重量",
-> constraint fk_work_no foreign key (work_no) references zhongjinlin_worker(no)
-> );
创建完三张表后你查看数据库中所有表
show tables;
看到了所有自己创建的表非常有成就感,继续逐个查看表的创建信息
首先查看车间表的创建信息
show create table zhongjinlin_workshop;
之后查看职工表的创建信息
show create table zhongjinlin_worker;
最后查看产品表的创建信息
show create table zhongjinlin_product;
心满意足的拿给老爸(厂长)看,没想到他说你这个我也看不懂啊,受到吐槽的你内心非常不爽,想到可以画ER图给他看,打开https://www.processon.com/网站(可直接微信登陆),
画好了ER图
老爸看后非常满意,立即通知秘书召开厂长会议
在会上你讲解了数据库的搭建过程以及目前成果,获得了极大的好评,同时收到了3条建议
1.职工表需要添加工龄字段,在之后计算工资以及年终奖会用到
字段名 |
数据类型 |
长度 |
主、外键 |
其他约束 |
备注信息 |
SENIORITY |
TINYINT |
2 |
工龄 |
alter table zhongjinlin_worker add seniority tinyint(2) comment "工龄";
2.车间表需要添加主任的联系电话字段,方便之后管理车间
字段名 |
数据类型 |
长度 |
主、外键 |
其他约束 |
备注信息 |
PHONE |
VARCHAR |
20 |
alter table zhongjinlin_workshop add phone varchar(20) comment "主任联系电话";
3.同理职工表也需要添加联系方式字段方便管理
字段名 |
数据类型 |
长度 |
主、外键 |
其他约束 |
备注信息 |
PHONE |
VARCHAR |
20 |
联系电话 |
alter table zhongjinlin_worker add phone varchar(20) comment "联系电话";
加好后查看车间表的字段信息
desc zhongjinlin_workshop;
感觉非常赞,之后查看职工表的字段信息
desc zhongjinlin_worker;
发现联系方式被加在了最后,追求完美主义的你把联系方式的字段位置修改到了姓名之后
alter table zhongjinlin_worker modify phone varchar(20) after name;
修改后再次查看职工表的字段信息
desc zhongjinlin_worker;