如何在 table (MySQL DB) 中存储一行的大量数据(超过 3000 行)?
How to store a lot of data (more than 3000 rows) for one row in a table (MySQL DB)?
我想在我的数据库中为一行存储大量数据(日期),正确的方法是什么?
我举个例子:
如果我有各种各样的水果,我想统计这个月我吃了多少水果,我吃了多少水果。
这就是我现在想做的事情,我不确定这是正确和最好的方法:
"Fruit" Table:
f_id, f_name (fruit name), f_data (fruit count for each day).
然后创建一个名为
的新 table
"Data":
dat_id, dat_date, dat_count, dat_friend_count.
并将唯一的 fruit_id 与 dat_id 连接起来。 (1 : n)
每当我想得到例如:显示我吃过的所有苹果 -> 苹果 ID 是 7,我在 "Data" table 中查找 ID 号 7,并为用户显示日期。
这是处理这种数据/table结构的正确方法吗?
对你的问题了解不多。我会有三个 tables..
1) 一个水果table..描述了所有的水果
idfruit, fruitname, fruitdescription
2) 一个人table..描述人
idperson、personname 以及任何其他属性作为附加列,
3) 一个水果跟踪器 table 跟踪每个吃水果的实例
idfruit、idperson、eatdatetime。
这应该足以找出谁在什么时候吃了什么。无需将您的实际数据与您的元数据(人和水果)混合..
不,从关系的角度来看,你的例子不正确。
您应该有两个表:
Table "Fruit"
id | fruit_name
(这是你储存水果种类信息的地方)
Table "Eat"
id | fruit_id | fruit_count | date
(这是您记录所有动作的地方,即您每次吃水果的时间和次数)
然后,要找出您在 2015 年 12 月总共吃了多少水果,您可以编写一个 SQL 查询:
SELECT COUNT(eat.fruit_count) FROM fruit
LEFT JOIN eat ON eat.fruit_id = fruit.id
WHERE eat.date >= '2015-12-01 00:00:00' AND eat.date <= '2015-12-31 23:59:59'
要知道你吃了多少水果,你应该在 WHERE 子句中添加水果的 ID:
SELECT COUNT(eat.fruit_count) FROM fruit
LEFT JOIN eat ON eat.fruit_id = fruit.id
WHERE eat.date >= '2015-12-01 00:00:00' AND eat.date <= '2015-12-31 23:59:59' AND fruit.id = '1'
我想在我的数据库中为一行存储大量数据(日期),正确的方法是什么?
我举个例子:
如果我有各种各样的水果,我想统计这个月我吃了多少水果,我吃了多少水果。
这就是我现在想做的事情,我不确定这是正确和最好的方法:
"Fruit" Table:
f_id, f_name (fruit name), f_data (fruit count for each day).
然后创建一个名为
的新 table"Data":
dat_id, dat_date, dat_count, dat_friend_count.
并将唯一的 fruit_id 与 dat_id 连接起来。 (1 : n)
每当我想得到例如:显示我吃过的所有苹果 -> 苹果 ID 是 7,我在 "Data" table 中查找 ID 号 7,并为用户显示日期。
这是处理这种数据/table结构的正确方法吗?
对你的问题了解不多。我会有三个 tables..
1) 一个水果table..描述了所有的水果
idfruit, fruitname, fruitdescription
2) 一个人table..描述人
idperson、personname 以及任何其他属性作为附加列,
3) 一个水果跟踪器 table 跟踪每个吃水果的实例
idfruit、idperson、eatdatetime。
这应该足以找出谁在什么时候吃了什么。无需将您的实际数据与您的元数据(人和水果)混合..
不,从关系的角度来看,你的例子不正确。
您应该有两个表:
Table "Fruit"
id | fruit_name
(这是你储存水果种类信息的地方)
Table "Eat"
id | fruit_id | fruit_count | date
(这是您记录所有动作的地方,即您每次吃水果的时间和次数)
然后,要找出您在 2015 年 12 月总共吃了多少水果,您可以编写一个 SQL 查询:
SELECT COUNT(eat.fruit_count) FROM fruit
LEFT JOIN eat ON eat.fruit_id = fruit.id
WHERE eat.date >= '2015-12-01 00:00:00' AND eat.date <= '2015-12-31 23:59:59'
要知道你吃了多少水果,你应该在 WHERE 子句中添加水果的 ID:
SELECT COUNT(eat.fruit_count) FROM fruit
LEFT JOIN eat ON eat.fruit_id = fruit.id
WHERE eat.date >= '2015-12-01 00:00:00' AND eat.date <= '2015-12-31 23:59:59' AND fruit.id = '1'