【D3】建立MySQL资料库

前言

首先把之前做的资料库格式搬家,也就是取得每日的股票之交易资讯进入资料库,首先要做的就是建立资料库。这边会重新建立,为了简便作业先不把考虑资料搬移。
这边会使用工具:MySQL Workbench(V8.0.17)


建立finance资料库

首要做的是建立资料库,在MySQL中建立名为finance的资料库,并且制定好他的编码,免得到时後跟上次一样编码出问题。
这边设定Character Setutf8mb4,以及Collationutf8mb4_unicode_ci

https://ithelp.ithome.com.tw/upload/images/20210903/20103826x44FyX7whx.png

设定完後按【Apply】就会出现语法:

CREATE SCHEMA `finance` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ;

然後就顺利的执行语法,完毕後会出现通知,并在左边的Database列表中,看到我们的finance
https://ithelp.ithome.com.tw/upload/images/20210903/20103826kbVd83Xr1N.png

https://ithelp.ithome.com.tw/upload/images/20210903/20103826pGdKVpHJ8P.png

建立Table

然後要参考建立股票基本资料以及每日股票交易资讯的文章,根据这两篇建立MySQL的table。

新增Table的方式可以自行输入语法,或是由工具协助产生。这边会藉由工具来产生(有点懒得打字),因此会在旁边的列表中,在Tables上点击滑鼠右键,选择【Create Table】。

https://ithelp.ithome.com.tw/upload/images/20210903/20103826cIF4P3Mko4.png

点击後会出新增Table资料的地方,就可以进行新增罗!

https://ithelp.ithome.com.tw/upload/images/20210903/20103826XP6zbl1dlA.png

股票资本资料档:Stock

接着输入Stock这张table的资料。

其中MySQL没有NVARCHAR的资料型态,但却不影响我们,因为一开始在建立资料库就有选择编码,所以会支援unicode,因此大胆的使用VARCHAR。(图片中没有设定ID为累增栏位,以及CreateTime没有设定预设值,需自行设定)

https://ithelp.ithome.com.tw/upload/images/20210903/20103826neqGbQt5ug.png

输入完毕後,点击【Apply】就会自动产生程序码:

CREATE TABLE `finance`.`Stock` (
  `ID` INT NOT NULL AUTO_INCREMENT,
  `Market` VARCHAR(10) NULL,
  `Symbol` VARCHAR(10) NULL,
  `SecurityType` CHAR(1) NULL,
  `StockName` VARCHAR(50) NULL,
  `BeginDate` DATE NULL,
  `EndDate` DATE NULL,
  `CreateTime` DATETIME NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`ID`));

https://ithelp.ithome.com.tw/upload/images/20210903/20103826E4ZdXsr90N.png

一样点击【Apply】就会执行,当执行成功後,就有绿色的提示罗!

https://ithelp.ithome.com.tw/upload/images/20210903/20103826a6atquDrFJ.png

往左边的清单看,在Tables的地方,多了个Stock,这样就真的有新增成功。
https://ithelp.ithome.com.tw/upload/images/20210903/20103826b8kpm3rAb0.png

每日交易明细档:DailyPrice

同样方法,新增DailyPrice。(图片中没有设定ID为累增栏位,需自行设定)

https://ithelp.ithome.com.tw/upload/images/20210903/20103826jhrFAfz55k.png

输入完毕後,点击【Apply】就会自动产生程序码:

CREATE TABLE `finance`.`DailyPrice` (
  `ID` INT NOT NULL AUTO_INCREMENT,
  `TradeDate` DATE NULL,
  `StockID` VARCHAR(32) NULL,
  `Symbol` VARCHAR(10) NULL,
  `OpenPrice` DECIMAL(9,3) NULL,
  `HighPrice` DECIMAL(9,3) NULL,
  `LowPrice` DECIMAL(9,3) NULL,
  `ClosePrice` DECIMAL(9,3) NULL,
  `Volumn` INT NULL,
  `CreateTime` DATETIME NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`ID`));

https://ithelp.ithome.com.tw/upload/images/20210903/20103826rrrR7XScFe.png

执行完成後,这张「新增」页面就会变成「编辑」页面

https://ithelp.ithome.com.tw/upload/images/20210903/20103826nmEBN6jnqm.png

而旁边的Tables也会增加新的table。

https://ithelp.ithome.com.tw/upload/images/20210903/20103826mfyKjsJt8i.png


後记

就算没有使用工具也没有关系,复制程序码也可以用。
这样就完成资料库格式搬家作业罗~
明天继续搬程序XD


<<:  Day03,Model摸象

>>:  Day 3 - 配置环境

Day19 跟着官方文件学习Laravel-Coverage

今天要来看看 PHPUnit 提供 Coverage 的使用方法 我们可以利用 PHPunit 来测...

学渣也能念研究所吗

As title,今天要来探讨的话题就是学渣到底能不能念研究所呢? 这个问题的答案在台湾几乎是 No...

30天学习笔记 -day 24-Dagger (下篇)

今天会补充dagger的用法。 今天目标:一个 Acomponent 里放着 Fruit.class...

#8 - Reading & Writing Files (fs)

今天要学习的依然是 node.js 的core modules (就是内建的模组啦),主角是:fs ...

D16 第八周 (回忆篇)

这礼拜进度开始落後,在写第七周作业的 todo list,自己後来才发现事件代理的用法,所以後面又重...