Я хочу, чтобы добавить новый столбец из файла в существующую таблицу, в пути cbind
делает в R.Добавить столбцы из файла в существующую таблицу в MariaDB 10.1
Файл имеет 1 столбцов, 23710 строк, все номера:
[email protected]_server:/var/www/html/my_website$ head my_sample.txt
61
66
0
330
76
9
10
16
6
0
Используя код:
ALTER TABLE my_table ADD COLUMN IF NOT EXISTS sample69 INT(10) DEFAULT NULL;
LOAD DATA LOCAL INFILE '/var/www/html/my_website/my_sample.txt' INTO TABLE my_table LINES TERMINATED BY '\n' (sample69);
Перед:
MariaDB [my_database]> select * from my_table limit 10;
+------------+-----------+
| geneSymbol | sample000 |
+------------+-----------+
| A1BG | 61 |
| A1BG-AS1 | 66 |
| A1CF | 0 |
| A2M | 330 |
| A2M-AS1 | 76 |
| A2ML1 | 9 |
| A2MP1 | 10 |
| A4GALT | 16 |
| A4GNT | 6 |
| AA06 | 0 |
+------------+-----------+
MariaDB [my_database]> select count(*) from my_table;
+----------+
| count(*) |
+----------+
| 23710 |
+----------+
После:
MariaDB [my_database]> select * from my_table limit 10;
+------------+-----------+-----------+
| geneSymbol | sample000 | sample69 |
+------------+-----------+-----------+
| A1BG | 61 | NULL |
| A1BG-AS1 | 66 | NULL |
| A1CF | 0 | NULL |
| A2M | 330 | NULL |
| A2M-AS1 | 76 | NULL |
| A2ML1 | 9 | NULL |
| A2MP1 | 10 | NULL |
| A4GALT | 16 | NULL |
| A4GNT | 6 | NULL |
| AA06 | 0 | NULL |
+------------+-----------+-----------+
MariaDB [my_database]> select count(*) from my_table;
+----------+
| count(*) |
+----------+
| 47420 |
+----------+
Это, по-видимому добавляет данные в конец колонны. Вместо этого я хочу, чтобы новый столбец был такой же длины 23710, заполненный новыми данными из файла.
Что я делаю неправильно?
Я вижу, это дает объяснения и понимание. Тем не менее, я боюсь, что это будет медленнее, но громоздко, поскольку таблица растет, так как я буду динамически добавлять один столбец каждый раз, как только обрабатываются новые образцы. –
Я добавил несколько вариантов. –
Отличные планы! У меня будет более 100 образцов, и вы правы, что я буду читать все данные, чтобы загрузить загрузочную таблицу, оставив фильтрацию пользователю. План A дает в конечном итоге миллионы строк, лишних из geneSymbol и образцов, Plan B и C хороши, чтобы уменьшить столбцы до Json, но Json будет хранить довольно большие данные в одной ячейке. На самом деле я могу адаптировать любой План, но который, по вашему мнению, лучше всего подходит для моего размера данных для * retrieve *, а не для добавления *, потому что последний будет в фоновом режиме, а время не является проблемой, но первая будет пользователем интерактивный и быстрый дисплей? –