gpt4 book ai didi

mysql - 创建优化的mysql数据库

转载 作者:行者123 更新时间:2023-11-29 19:43:33 30 4
gpt4 key购买 nike

我对 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,并且湿度始终为正。

基于此,上表的制作是否正确?其实我不确定在一些数据已经打洞之后,后期是否可以改变表的数据类型。

最佳答案

首先,让我们首先将您的问题调整为正确的术语。您提供的不是查询,而是命令。仅当您向数据库提出问题时,才应使用查询一词。

其次,除了以下几件事外,表格的内容看起来都不错:

  1. 不清楚您为什么需要 ID(我无法想象您会提出问题的情况 - 即发出查询 使用此字段),

  2. 您没有定义任何索引,这意味着每当您想要检索数据时,都会进行全表扫描。

要正确完成表格定义,请评估您将提出与此表格相关的问题,并根据此评估添加一些索引。

根据更改列的数据类型,一旦表包含数据,您确实可能会发现执行它很困难。不过,这可以通过执行简单的命令轻松解决:

  1. 创建一个新表(使用临时名称),其中的列将具有新的(正确的)数据类型,

  2. 使用如下命令将旧表的内容复制到新表中:

    INSERT INTO NewTable([接收值的字段列表])
    SELECT ([要复制的字段列表]) FROM OldTable ;

    [注意:您可能需要进行一些转换,具体取决于要更改的类型]

  3. 删除旧表,

  4. 将新表重命名为旧名称。

关于mysql - 创建优化的mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41205629/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com