数据库第八次作业

什么是数据库

用户可以对数据库执行什么操作?

 什么是数据库管理系统?

 你个数据库管理系统可以管理多少个数据库?

无数个

那一个数据库有多少张表呢?

无数个

每张表是否可以有很多条数据呢?

无数个

查看所有数据库

show databases;

创建了一个新的数据库,名为 temp_姓名全拼

将 temp_姓名全拼 数据库的默认字符集改成了 gbk

 查看 temp_姓名全拼 数据库创建信息

 删除 temp_姓名全拼 数据库

 

 退出MySQL

\q

 

创建并使用了数据库 姓名全拼_factory

创建表

车间表 姓名全拼_workshop

字段名

数据类型

长度

主、外键

其他约束

备注信息

NO

CHAR

10

主键

车间号

ADDRESS

TEXT

地址

OPEN_DATE

DATE

开设时间

NAME

VARCHAR

10

非空,唯一

主任姓名

职工表 姓名全拼_worker

字段名

数据类型

长度

主、外键

其他约束

备注信息

NO

CHAR

10

主键

工号

SHOP_NO

CHAR

10

外键workshop (no)

车间号

NAME

VARCHAR

10

非空,唯一

姓名

WORK

VARCHAR

30

工种

 

产品表 姓名全拼_product

字段名

数据类型

长度

主、外键

其他约束

备注信息

NO

CHAR

10

主键

产品编号

WORK_NO

CHAR

10

外键worker(no)

工号

WEIGHT

DOUBLE

重量

 建完三张表后你查看数据库中所有表

 首先查看车间表的创建信息

 之后查看职工表的创建信息

最后查看产品表的创建信息

1.职工表需要添加工龄字段

字段名

数据类型

长度

主、外键

其他约束

备注信息

SENIORITY

TINYINT

2

工龄

车间表需要添加主任的联系电话字段,方便之后管理车间

字段名

数据类型

长度

主、外键

其他约束

备注信息

PHONE

VARCHAR

20

主任联系电话

同理职工表也需要添加联系方式字段方便管理

字段名

数据类型

长度

主、外键

其他约束

备注信息

PHONE

VARCHAR

20

联系电话

 

查看车间表的字段信息

 查看职工表的字段信息

 ,追求完美主义的你把联系方式的字段位置修改到了姓名之后

再次查看职工表的字段信息

给车间表所有字段批量插入数据

车间号

地址

开设时间

主任姓名

联系电话

WS1

Jone Street

2018-03-06

Frank

13852374989

WS2

2018-05-27

Alan

WS3

Gray Street

Peter

17074120081

WS4

2018-09-15

Clare

18182330376

 

 成功后查看车间表所有字段数据

修改字段名的语句将职工表的WORK字段修改如下表所示:

旧字段名

新字段名

数据类型

长度

默认

备注信息

WORK

WORK_TYPE

VARCHAR

30

common

工种

之后用修改字段数据类型的语句将职工表的SENIORITY字段修改如下表所示:

字段名

数据类型

长度

默认

备注信息

SENIORITY

INT

2

0

工龄

 

 修改成功后查看职工表的创建信息

看到默认值已经设置成功了,你便把工种、工龄都和默认值相同的记录标红

工号

车间号

职工姓名

联系电话

工种

工龄

W1

WS1

Chisel

13024390423

special

5

W2

WS1

Asa

expert

W3

WS1

Parker

15754183291

common

1

W4

WS1

Ron

18283957359

common

0

W5

WS1

Tyler

common

0

W6

WS1

Tony

17683934639

common

0

W7

WS1

August

common

0

W8

WS2

Sam

13186396347

special

5

W9

WS2

Klee

13792694095

expert

3

W10

WS2

Webb

17288936395

common

1

W11

WS2

Jared

common

0

W12

WS2

Moore

common

0

W13

WS2

June

18086473924

common

0

W14

WS2

Reg

13087843989

common

0

之后使用指定字段批量插入数据的方式开始往职工表新增这些被标红的八条数据,在新增时不用指定工种、工龄字段

看到结果非常满意,一边说着MySQL真靠谱一边整理出了还没有添加进表的所有数据

工号

车间号

职工姓名

联系电话

工种

工龄

W1

WS1

Chisel

13024390423

special

5

W2

WS1

Asa

expert

W3

WS1

Parker

15754183291

common

1

W8

WS2

Sam

13186396347

special

5

W9

WS2

Klee

13792694095

expert

3

W10

WS2

Webb

17288936395

common

1

看来看去好像没有可以使用技术手段节省代码量的方式了,你只好使用所有字段批量新增的方式往职工表里新增了这些数据

 

新增完成后查看职工表中所有数据

 

发现WS1,WS2车间均有职工联系方式不明确,这不利于管理,需要联系他们的车间主任来拿到这些员工的联系方式。所以你查看车间表中车间号在WS1,WS2里的所有字段信息

发现WS2车间地址、车间主任的联系方式都没有,顿时火大,打电话给厂长秘书要WS2车间地址及主任联系方式,她说问道告诉你。之后你打给WS1车间主任问到了WS1车间所有缺少的信息,你一一对数据库中的数据进行了修改

首先修改职工表中Asa的联系方式为17349275853,工龄为3年

接着修改Tyler的联系方式为18934783924

 最后修改August的联系方式为15597239204

后查询车间表中WS1车间的职工姓名、联系方式、工龄字段信息 

此时秘书打来电话说WS2车间的地址在Bleecker Street,主任的联系方式是17792847923,你修改了车间表中WS2车间的地址和主任联系方式

 打电话给WS2车间主任,得知Jared和Moore的联系方式分别是18529723749和17697397496,你写了两条update语句来改这两条数据

 

间主任还告诉你Moore因为家庭原因已经离职,这时你才发现自己在设计职工表时并没有字段来记录职工的在离职状态,这简直是一大败笔,细想这个字段只有在职和不在职两种值,所以准备用1和0来表示以节省数据库空间,你在职工表中添加了一个字段来记录职工是否在职

字段名

数据类型

长度

主、外键

其他约束

默认

备注信息

IS_ONWORK

ENUM(“0”,”1”)

“1”

是否在职 1是 0否

新增好字段后,再将Moore的是否在职字段修改为“0”,表示他已经离职了

新增好字段后,再将Moore的是否在职字段修改为“0”,表示他已经离职了

 

改完成后查看职工表中所有数据 

 

 用查询语句查询了职工表中车间号为WS2并且是否在职字段为1的工号、车间号、职工姓名、在职状态字段数据

 

 查询了职工表中工龄不等于0并且工种不是common的工号、车间号、职工姓名、工种、工龄字段数据

在职工表中查看联系方式以177开头7923结尾的所有字段数据 

 

发现并不存在这样的手机号,又去车间表查看主任联系方式以177开头7923结尾的所有字段数据 

 

查看了产品表的字段信息 

 

你删除了表中不需要的重量字段

添加了是否合格字段

字段名

数据类型

长度

主、外键

其他约束

默认

备注信息

IS_QUALIFIED

ENUM(0,1)

非空

1

是否合格 1是 0否

 

修改了产品编号字段的数据类型,并查看了产品表的字段信息

字段名

数据类型

长度

其他约束

备注信息

NO

INT

5

自动增加

产品编号

 

设置好了产品编号的自增、是否合格的默认,你发现在新增时不用指定产品编号、是否合格字段,只需要工号这一个字段,简直太赞了,你用指定字段批量新增数据的方式插入了所有数据

产品编号

工号

是否合格

1

W8

合格

2

W9

合格

3

W10

合格

4

W11

合格

5

W12

合格

6

W8

不合格

7

W13

合格

8

W14

合格

9

W9

不合格

10

W15

合格

11

W10

合格

12

W11

合格

13

W12

合格

14

W13

合格

15

W14

合格

16

W8

合格

17

W15

合格

 

这时发现W15这条数据新增报错,和外键“工号”相关

你查看了职工表中车间号为WS2的所有字段数据

发现果真没有W15这个员工,你准备打电话给WS2的车间主任核实职工信息,所以查看了车间表中车间号为WS2的主任联系方式字段数据

 

电话沟通得知W8是今天新入职的员工,信息如下

工号

车间号

职工姓名

联系电话

工种

工龄

是否在职

W15

WS2

Jack

13397693245

Common

0

1

你看到工种、工龄、是否在职都与表中设置的默认值相同,故使用指定字段添加数据的方式插入了这条数据,只指定了工号、车间号、职工姓名、联系方式字段

 

新入职职工加入职工表后你又开始执行之前往产品表新增数据的语句

你还是用指定字段批量新增数据的方式插入了所有数据,只指定了工号字段

产品编号

工号

是否合格

1

W8

合格

2

W9

合格

3

W10

合格

4

W11

合格

5

W12

合格

6

W8

不合格

7

W13

合格

8

W14

合格

9

W9

不合格

10

W15

合格

11

W10

合格

12

W11

合格

13

W12

合格

14

W13

合格

15

W14

合格

16

W8

合格

17

W15

合格

 插入成功后你查看产品表中的所有字段数据

 

发现no并没有从1开始自动增加而是从18开始,你在想是不是自己之前新增了17条数据又删除掉的原因,但是这里老师还没有讲过所以你只好自己百度,百度发现truncate关键词可以在删除表中数据后让自动增加的默认初始值重新从1开始,所以你准备使用   truncate表名;   语句删除产品表所有数据

再次用指定字段批量新增数据的方式插入产品表所有数据,只指定工号字段

产品编号

工号

是否合格

1

W8

合格

2

W9

合格

3

W10

合格

4

W11

合格

5

W12

合格

6

W8

不合格

7

W13

合格

8

W14

合格

 

9

W9

不合格

10

W15

合格

11

W10

合格

12

W11

合格

13

W12

合格

14

W13

合格

15

W14

合格

16

W8

合格

17

W15

合格

发现产品编号为6和9的两条记录产品应该是不合格的,你把产品表中产品编号在6,9里的是否合格状态改成了0

 

修改后再次查看产品表所有字段数据

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值