
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.82] |
![]() |
|
![]() | Данный раздел предназначается для обсуждения вопросов использования баз данных, за исключением составления запросов на SQL. Для этого выделен специальный раздел. Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
Имеются 2 файла с SQL-базами одинакового формата (условно скажем, набор студентов с их фамилией, именем, увлечениями и т.д.) - stud.db и nov.db.
Хочется из командной строки (Win10 x64) добавить=влить в общую базу stud.db значения из малой базы nov.db. При этом может быть 2 варианта: а) некоторые из значений уже есть - тогда переписать их; б) не переписывать имеющиеся, а проигнорить. Подскажите, как такое можно было бы организовать=сделать? ![]() |
![]() |
Сообщ.
#2
,
|
|
Цитата Славян @ 2 файла с SQL-базами одинакового формата ... stud.db и nov.db. Укажи точно DBMS для каждой БД, включая версию. Добавлено Цитата Славян @ При этом может быть 2 варианта: а) некоторые из значений уже есть - тогда переписать их; б) не переписывать имеющиеся, а проигнорить. Вариант 1 - это вариант 2,выполненный в обратном направлении. |
Сообщ.
#3
,
|
|
|
Цитата Akina @ Эх, кабы я знал, что такое DBMS!.. Укажи точно DBMS для каждой БД, включая версию. ![]() Цитата Akina @ Это я виноват, несколько неточно написал. Имелось ввиду следующее: есть записи в базе, у коих совпадает, скажем, "Фамилия,Имя", а вот другие поля различны. И хочется не плодить десяток Ивановых И.И., а проигнорить таковую запись, если она есть и в большой, и в малой базе. Вариант 1 - это вариант 2,выполненный в обратном направлении. ![]() |
Сообщ.
#4
,
|
|
|
Цитата Славян @ Эх, кабы я знал, что такое DBMS!. Система управления базами данных, иными словами ... Акина спрашивает - какой движок пользуешь? К примеру: MySQL, PostgreSQL, SQLite, M$ Access... Откуда эти файлы с раcширением .db? |
Сообщ.
#5
,
|
|
|
SQLite, конечно.
![]() |
Сообщ.
#6
,
|
|
|
Цитата Славян @ Подскажите, как такое можно было бы организовать=сделать? ![]() Например через https://github.com/RamblingCookieMonster/PSSQLite |
Сообщ.
#7
,
|
|
|
![]() |
Сообщ.
#8
,
|
|
Цитата Славян @ кабы я знал, что такое DBMS!.. Очень хочется показать тебе скриншот ответа гугла на запрос "DBMS"... Цитата Славян @ Имелось ввиду следующее: есть записи в базе, у коих совпадает, скажем, "Фамилия,Имя", а вот другие поля различны. И хочется не плодить десяток Ивановых И.И., а проигнорить таковую запись, если она есть и в большой, и в малой базе. При слиянии двух таблиц есть три варианта. 1) Все дубликаты по уникальному ключу игнорируются 2) Все дубликаты по уникальному ключу заменяют исходные записи Эти два варианта абсолютно аналогичны с точностью до направления выполнения операции (и, соответственно, того, в какой таблице образуется результирующий набор). Обычно в качестве таблицы-эталона выбирается та, в которой больше записей (если количество записей различается значительно) - просто ради ускорения процесса. 3) Для записей-дубликатов только часть полей записи-оригинала заменяется на значения из записи-копии (например, только поля, имеющие значение NULL). Вот третий вариант - особенный, не имеющий аналога. |
Сообщ.
#9
,
|
|
|
Всем как бы спасибо, я ожидал что-то вроде:
![]() ![]() sqlite3.exe --rez=itog.db --flag='флаги' --add stud.db nov.db |
Сообщ.
#10
,
|
|
|
Цитата Славян @ Буду думать (если не плюну). Сделай SQL-запрос в виде текстового файла (в принципе можно и echo'м попробовать на-лету собрать). Потом пайпом передай в sqlite3.exe |
Сообщ.
#11
,
|
|
|
![]() |
Сообщ.
#12
,
|
|
Цитата EXEptor @ Либо Вы не поняли вопроса, либо не поняли, что именно видели. Сейчас у хостеров как бы есть автоматическое обновление, видел такие функции. Автоматическое обновление кастомной БД - это заведомый бред. |