На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается для обсуждения вопросов использования баз данных, за исключением составления запросов на SQL. Для этого выделен специальный раздел. Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Chow, Bas, MIF
  
> Обновление базы из другой под-базы , SQL (но интересно и для других)
    Имеются 2 файла с SQL-базами одинакового формата (условно скажем, набор студентов с их фамилией, именем, увлечениями и т.д.) - stud.db и nov.db.
    Хочется из командной строки (Win10 x64) добавить=влить в общую базу stud.db значения из малой базы nov.db.
    При этом может быть 2 варианта:
    а) некоторые из значений уже есть - тогда переписать их;
    б) не переписывать имеющиеся, а проигнорить.

    Подскажите, как такое можно было бы организовать=сделать?
    :thanks:
      Цитата Славян @
      2 файла с SQL-базами одинакового формата ... stud.db и nov.db.

      Укажи точно DBMS для каждой БД, включая версию.

      Добавлено
      Цитата Славян @
      При этом может быть 2 варианта:
      а) некоторые из значений уже есть - тогда переписать их;
      б) не переписывать имеющиеся, а проигнорить.

      Вариант 1 - это вариант 2,выполненный в обратном направлении.
        Цитата Akina @
        Укажи точно DBMS для каждой БД, включая версию.
        Эх, кабы я знал, что такое DBMS!.. :oops:

        Цитата Akina @
        Вариант 1 - это вариант 2,выполненный в обратном направлении.
        Это я виноват, несколько неточно написал. Имелось ввиду следующее: есть записи в базе, у коих совпадает, скажем, "Фамилия,Имя", а вот другие поля различны. И хочется не плодить десяток Ивановых И.И., а проигнорить таковую запись, если она есть и в большой, и в малой базе. :blush:
          Цитата Славян @
          Эх, кабы я знал, что такое DBMS!.

          Система управления базами данных, иными словами ... Акина спрашивает - какой движок пользуешь?
          К примеру: MySQL, PostgreSQL, SQLite, M$ Access... Откуда эти файлы с раcширением .db?
            SQLite, конечно. :blush:
              Цитата Славян @
              Подскажите, как такое можно было бы организовать=сделать?
              :thanks:

              Например через https://github.com/RamblingCookieMonster/PSSQLite
              Сообщение отредактировано: Gonarh -
                Цитата Славян @
                Подскажите, как такое можно было бы организовать=сделать?

                SQLite3-CLI, см.главу 20.
                  Цитата Славян @
                  кабы я знал, что такое DBMS!..

                  Очень хочется показать тебе скриншот ответа гугла на запрос "DBMS"...

                  Цитата Славян @
                  Имелось ввиду следующее: есть записи в базе, у коих совпадает, скажем, "Фамилия,Имя", а вот другие поля различны. И хочется не плодить десяток Ивановых И.И., а проигнорить таковую запись, если она есть и в большой, и в малой базе.

                  При слиянии двух таблиц есть три варианта.

                  1) Все дубликаты по уникальному ключу игнорируются

                  2) Все дубликаты по уникальному ключу заменяют исходные записи

                  Эти два варианта абсолютно аналогичны с точностью до направления выполнения операции (и, соответственно, того, в какой таблице образуется результирующий набор). Обычно в качестве таблицы-эталона выбирается та, в которой больше записей (если количество записей различается значительно) - просто ради ускорения процесса.

                  3) Для записей-дубликатов только часть полей записи-оригинала заменяется на значения из записи-копии (например, только поля, имеющие значение NULL).

                  Вот третий вариант - особенный, не имеющий аналога.
                    Всем как бы спасибо, я ожидал что-то вроде:
                    ExpandedWrap disabled
                      sqlite3.exe --rez=itog.db --flag='флаги' --add stud.db nov.db
                    Буду думать (если не плюну).
                      Цитата Славян @
                      Буду думать (если не плюну).

                      Сделай SQL-запрос в виде текстового файла (в принципе можно и echo'м попробовать на-лету собрать). Потом пайпом передай в sqlite3.exe
                        Сейчас у хостеров как бы есть автоматическое обновление, видел такие функции. :)
                          Цитата EXEptor @
                          Сейчас у хостеров как бы есть автоматическое обновление, видел такие функции.
                          Либо Вы не поняли вопроса, либо не поняли, что именно видели.
                          Автоматическое обновление кастомной БД - это заведомый бред.
                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                          0 пользователей:


                          Рейтинг@Mail.ru
                          [ Script execution time: 0,0365 ]   [ 15 queries used ]   [ Generated: 29.03.24, 15:33 GMT ]