首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建优化的mysql数据库

创建优化的mysql数据库
EN

Stack Overflow用户
提问于 2016-12-18 05:02:15
回答 1查看 35关注 0票数 0

我对mysql数据库非常陌生,

我正在为我的家庭构建一个基于arduino的温湿度传感器,到目前为止我已经成功地读取了温湿度并上传到mysql数据库,现在我想在我的sql数据库中创建最终的表。在深入研究之前,我假设应该对表进行优化。

因此,根据我的理解,我将创建一个具有以下查询的表:

代码语言:javascript
复制
CREATE TABLE tempHumidLog
(
     id INT NOT NULL AUTO_INCREMENT,
     timeStamp TIMESTAMP NOT NULL PRIMARY KEY,
     out_temperature int(11) NOT NULL,
     out_humidity int(11) NOT NULL,
     out_light_sensor int(11) NOT NULL,
     rain_sensor int(11) NOT NULL,
     drawing_room_temperature int(11) NOT NULL,
     drawing_room_humidity int(11) NOT NULL,
     bed_Room_temperature int(11) NOT NULL,
     bed_room_humidity int(11) NOT NULL,
     kitchen_temperature int(11) NOT NULL,
     kitchen_humidity int(11) NOT NULL,

)

来自rain_sensor和out_light_sensor的数据永远不会低于0,而且温度永远不会低于-50,湿度总是正的。

基于这一点,在做上面的表格时是正确的?实际上,我不确定在某些数据已经被穿孔之后,我们是否能够在稍后阶段更改表的数据类型。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-18 05:44:13

首先,让我们首先将您的问题修改为适当的术语。您提供的不是一个查询,而是一个命令。只有当您向数据库询问问题时,才应该使用查询这个词。

第二,您的表的内容似乎没有问题,除了以下几点:

  1. 不清楚您为什么需要ID (我无法想象您会问一个问题-即使用这个字段发出查询),
  2. 您没有定义任何索引,这意味着每当您想检索数据时,都会进行全表扫描。

要正确地完成表定义,请评估与此表相关的问题,并在此评估的基础上添加一些索引。

根据更改数据类型的列,一旦表包含数据,您可能会发现执行它会遇到困难。不过,通过执行简单的命令可以很容易地解决这一问题:

  1. 创建一个新表(具有临时名称),其中列将具有新(正确)数据类型,
  2. 使用如下命令将旧表的内容复制到新表中: INSERT INTO NewTable ([list of fields to receive the values]) SELECT ([list of fields to be copied]) FROM OldTable ; 注意:根据要更改的类型,您可能需要进行一些强制转换。
  3. 丢下旧桌子,
  4. 将新表重命名为旧名称。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41205629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档