我对mysql数据库非常陌生,
我正在为我的家庭构建一个基于arduino的温湿度传感器,到目前为止我已经成功地读取了温湿度并上传到mysql数据库,现在我想在我的sql数据库中创建最终的表。在深入研究之前,我假设应该对表进行优化。
因此,根据我的理解,我将创建一个具有以下查询的表:
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,湿度总是正的。
基于这一点,在做上面的表格时是正确的?实际上,我不确定在某些数据已经被穿孔之后,我们是否能够在稍后阶段更改表的数据类型。
发布于 2016-12-18 05:44:13
首先,让我们首先将您的问题修改为适当的术语。您提供的不是一个查询,而是一个命令。只有当您向数据库询问问题时,才应该使用查询这个词。
第二,您的表的内容似乎没有问题,除了以下几点:
要正确地完成表定义,请评估与此表相关的问题,并在此评估的基础上添加一些索引。
根据更改数据类型的列,一旦表包含数据,您可能会发现执行它会遇到困难。不过,通过执行简单的命令可以很容易地解决这一问题:
INSERT INTO NewTable ([list of fields to receive the values]) SELECT ([list of fields to be copied]) FROM OldTable ;
注意:根据要更改的类型,您可能需要进行一些强制转换。https://stackoverflow.com/questions/41205629
复制相似问题