第07天 - 一些些的 MySQL(下)

把昨天没讲完的 MySQL 操作补充一下
实作的时候记得打开 XAMPP。

更动资料"表"(新增或修改栏位,甚至移除)
步骤 : 点选你要的资料"库">>点选你要的资料"表",到以下画面
https://ithelp.ithome.com.tw/upload/images/20210907/20141355ZgcGIZxVT7.png

1.资料表的删除、更动资料(不影响栏位的结构)
若要删除指定资料表,可点选图片中红圈的 【删除】。
【删除】左边的【清空】则是可以"清除"所有栏位的"值",原本栏位设定都会保留。
【清空】左边的【新增】则是可以"新增"一笔栏位的"值",并不影响原本的栏位结构。

2.资料表结构的改动(可更改资料表的栏位)
如图,点选结构,然後进到以下画面
https://ithelp.ithome.com.tw/upload/images/20210907/20141355WwcEoRYYKK.png

https://ithelp.ithome.com.tw/upload/images/20210907/20141355uOmAkOgCPR.png
然後就可以点选修改,更改栏位的名称、其属性等(如 INT VARCHAR...)
删除的话,那个栏位就会消失。

3.新增 外部键Foreign Key , 外部键的新增,目前我只知道只能用指令,
以及只有被设为 主键PRIMARY 的栏位才可以设定成外部键

步骤1:额外新增一个资料表(我取名 add_role ,来当作每个会员的等级,
     跟staff表中的staff_role 做呼应)如下图。

https://ithelp.ithome.com.tw/upload/images/20210907/20141355grCC3jpLqq.png

https://ithelp.ithome.com.tw/upload/images/20210907/201413559WFzfFG3DC.png
表 add_role 我只有给一个栏位 STAFF_ROLE ,
并且想拿此栏位做 staff 中的 staff_role 外部键。

步骤2:指令新增外部键(以我的范例,改动 表staff 中的 staff_role栏位(新增外部键)
     外部键从哪来?? 从>>> 表add_role 中的 STAFF_ROLE)
ALTER TABLE staff
ADD FOREIGN KEY (staff_role) REFERENCES add_role(STAFF_ROLE);

(注意!! 新增此外部键时,我的 表staff 必须是空的,否则指令会出错!!)

然後们来新增 表staff 的内容,如下图 staff_role 的值
只能选则用 add_role 中的 STAFF_ROLE的值
https://ithelp.ithome.com.tw/upload/images/20210907/201413550STFsNbXrD.png

建完表後的样子(staff_role 的栏位值 变蓝色的)
https://ithelp.ithome.com.tw/upload/images/20210907/2014135548Y0HfNIHW.png

那外部键有甚麽用呢?
1.对我来说他可以"统一"一些格式(如:会员等级,不能像姓名一样千百种)
2.类似防呆的作用,有被用到的外部键,会无法删除。
(只要普通、白银、黄金会员的资料有存在,无法随意删除 add_role 的资料
,除非 如:把所有白银会员的资料都删掉,这样就可以删掉 add_role >> STAFF_ROLE 中的白银会员)

今天就先这样,下次见。


<<:  2021-Day2. Kotlin 读书会 Line 群组小帮手的新功能:个人服务

>>:  参加 VMware 1V0-21.20 认证考试以获得成功的职业生涯

Reactive programming

在上一篇中我们完成了 StickyNote 的 UI 跟 Model 的部分,後面的章节将有很大的一...

Android Studio初学笔记-Day3--RelativeLayout

承上一篇,今天要分享的是另一个比较常见也比较广泛使用的布局。 RelativeLayout(相对布局...

Laravel帮你做好的会员登入系统

前言 Laravel有帮你做好会员登入系统的模组,如果有需要的话,可以快速生成。 但详细的运作细节我...

[Day14]C# 鸡础观念- 不同层次的阵列~二维阵列

既然空间有维度, 阵列也像是空间一样, 他是拥有维度的, 就让我们探索看看吧 二维阵列 就如同象棋棋...

Day12 安装外接磁碟机与磁碟片 - 取得 Lua shell script 的参数列

前几天我将 CC: Tweaked 电脑的开机和程序执行流程大致摸熟後,今天我想来看看新的「硬体」 ...