Как создать базу данных из текстового файла

Обновлено: 06.07.2024

Access 2010 включает возможность импорта необработанных текстовых данных в базу данных, не требуя от пользователей настройки полей и строк перед процессом импорта. Он предлагает интеллектуальную функцию импорта данных, которая автоматически определяет распределение данных в текстовом файле и создает поля и записи, чтобы пользователи могли легко использовать текстовые данные в своих таблицах базы данных. Более того, он также может создать новую таблицу, если вы над ней не работаете. Это позволяет легко и быстро импортировать столько текстовых файлов, сколько вы хотите, без необходимости создавать таблицу для корректировки их данных. Кроме того, он предоставляет вам параметры с разделителями или фиксированной шириной для правильной настройки значений из текстовых файлов в таблице базы данных. Вы можете проверить, как данные вашего текстового файла будут выглядеть в таблице, прежде чем фактически импортировать текстовый файл. В этом посте мы объясним, как вы можете импортировать текстовый файл в базу данных Access 2010.

Для начала вам необходимо ознакомиться со структурой или форматом данных в Текстовый документ.

Текстовый документ

Запустите Access 2010, откройте существующую таблицу, если вы хотите добавить данные. Если вы хотите импортировать текстовый документ в новую таблицу, перейдите к Внешние данные и нажмите Текстовый файл.

доступ внешний1

Вы достигнете Получить внешние данные, выберите файл, который хотите импортировать. На этом шаге вы можете либо импортировать исходные данные в новую таблицу в текущей базе данных, либо добавить в существующую таблицу. Нажмите Ok чтобы продолжить.

импортировать текст

На этом этапе Access автоматически определяет формат данных. Если вы хотите изменить формат данных, вы можете сделать это, включив Фиксированная ширина переключатель. Ударять Следующий чтобы продолжить работу с мастером.

волшебник 2

Теперь выберите соответствующий разделитель в соответствии с форматом и структурой текстового файла. Нажмите Следующий чтобы продолжить.

волшебник 3

Теперь укажите информацию о каждом из полей, которые вы импортируете. Выберите столбец в области ниже и укажите соответствующие параметры поля.

волшебник 4

Следующий шаг предоставляет различные варианты выбора первичного ключа (уникального идентификатора). Вы можете включить Разрешите Access добавить первичный ключ, или выберите свой собственный первичный ключ, выбрав метку столбца в раскрывающемся списке. Мы выберем вариант по умолчанию, т.е. Разрешите Access добавить первичный ключ. Нажмите Следующий.

волшебник6

Теперь выберите подходящее имя для таблицы и нажмите Заканчивать чтобы завершить работу мастера.

волшебник7

Вы можете видеть, что текстовый документ теперь успешно импортирован в таблицу Access. Теперь вы можете просмотреть это в Просмотр дизайна для изменения типа данных полей, добавления / редактирования / удаления полей и применения к ним требуемых ограничений.

Favorite

Добавить в избранное

Главное меню » Базы данных » База данных MySQL » 10 Примеров входной загрузки данных из текстового файла в таблицы MySQL

(2 оценок, среднее: 5,00 из 5)

10 Примеров входной загрузки данных из текстового файла в таблицы MySQL

Е сли у вас есть данные в текстовом файле, вы можете легко загрузить их в одну или несколько таблиц в базе данных.

В базе данных MySQL (или MariaDB), используется команда “load data infile” вы можете загрузить данные из текстового файла в таблицы.

Команда загрузки данных из входного файла обеспечивает несколько гибких вариантов для загрузки различных форматов данных из текстового файла в таблицы.

Следующие примеры загрузки данных рассматриваются в данном руководстве:

  1. Базовый пример для загрузки данных из текстового файла
  2. Загрузка данных с помощью опции “Fields terminated by”
  3. Загрузить данные с помощью опции “Enclosed by”
  4. Использование экранирующего символа в текстовых данных файла
  5. Загрузить данных с помощью опции “Lines terminated by”
  6. Игнорировать строки префикса при отправке файлов с помощью опции “Starting By”
  7. Игнорировать строки заголовка при загрузки файла
  8. Загрузить только определенные столбцы (и игнорировать другие) при загрузки из файла
  9. Использование переменной во время загрузки с опцией “Set”
  10. Написать Shell Скрипт для загрузки данных из текстового файла

1. Базовый пример для загрузки данных из текстового файла

В следующем примере файл worker.txt имеет значения полей, которые отделены от вкладки.

По умолчанию команда загрузки файла данных использует TAB в качестве поля по умолчанию как разделитель.

Во-первых, перейдите в базу данных, куда вы хотите загрузить текстовый файл. В этом примере мы будем загружать вышеуказанный файл worker.txt в таблицу сотрудников, расположенной базе данных MySQL под названием andreyexbase.

Следующая команда MySQL будет загружать записи из выше указанного файла worker.txt в таблицу сотрудников, как показано ниже. Эта команда не использует никаких дополнительных опций.

Примечание: В приведенном выше примере, команда предполагает, что файл worker.txt находится в директории базы данных. Например, если вы выполняете приведенную выше команду в базу данных andreyexbase, а затем поместите файл в: /var/lib/mysql/andreyexbase/

Ниже будет вывод предыдущей команды.

В приведенном выше:

После загрузки данных, следующее, что мы увидим в таблице сотрудников.

Примечание: Если вы хотите сделать резервную копию MySQL и восстановить всю базу данных MySQL, используйте команду Mysqldump.

2. Выгрузка данных с помощью опции “Fields terminated by”

В следующем примере, во входном файле worker2.txt, значения полей разделяются запятыми.

Для того, чтобы загрузить вышеуказанные записи в таблицe сотрудников, используйте следующую команду.

Во время загрузки, используя вариант “FIELDS TERMINATED BY”, вы можете указать запятую как разделитель полей, как показано ниже.

Опять же, этот параметр используется только тогда, когда значения поля отделяются друг от друга ничем, кроме TAB. Если поля разделяет двоеточие, вы будете использовать следующую опцию в приведенной выше команде:

Ниже приведены несколько основных ошибок, которые могут произойти во время загрузки MySQL

3. Загрузить данные с помощью опции “Enclosed by”

В следующем примере, текстовый файл имеет значения текстового поля, заключенные в двойные кавычки, т.е. name и department имеют двойные кавычки вокруг них.

В этом случае используйте вариант “enclosed by”, как показано ниже.

Приведенная выше команда будет загружать записи должным образом, как показано ниже с помощью команды SELECT в mysql:

4. Использование экранирующего символа в текстовых данных файла

Допустим, у вас запятая в значении той или иной области.

Записи также не загружается должным образом, потому что есть запятая в значении одного из полей.

Правильный файл: Для того, чтобы решить данную проблему, используйте обратную косую черту (\) перед запятой в значении имени поля, как показано ниже.

Ниже будет работать на этот раз без каких-либо ошибок, так как мы указали \ в качестве экранирующего символа.

Вы можете также использовать экранирующий символ, как показано ниже. В этом примере мы используем ^ вместо стандартного \.

5. Выгрузка данных с помощью опции “Lines terminated by”

Вместо того, чтобы все записи были указанны на отдельной строке, вы также можете указать их на той же строке.

В следующем примере, каждая запись отделена символом |.

Чтобы загрузить вышеуказанный файл, используйте вариант, как показано ниже.

Приведенная выше команда будет загружать записи из worker5.txt, как показано ниже.

Ниже приведены несколько моментов, чтобы иметь в виду:

  • Если входной файл поступает из окна, то вы можете использовать эту функцию: LINES TERMINATED BY ‘\r\n’
  • Если вы используете CSV файл для загрузки данных в таблицу, то попробуйте одну из этих: 1) LINES TERMINATED BY ‘\r’ 2) LINES TERMINATED BY ‘\r\n’

6. Игнорировать строки префикса при отправке файлов с помощью опции “Starting By”

Вы также можете иметь некоторый префикс к записям в текстовом файле ввода, который может быть проигнорирован во время загрузки.

Ниже приводится выход указанной команды:

7. Игнорировать строки заголовка при загрузки из файла

В следующем входном текстовом файле, первая строка является строкой заголовка, который имеет название столбцов.

Во время загрузки, мы хотим, игнорировать 1-й строку заголовка из файла worker7.txt. Для этого используйте опцию IGNORE 1, как показано ниже.

Как видно из следующих выходных данных, даже если входной файл имеет 6 строк, он игнорирует 1-ю линию (которая является строка заголовка) и загрузит оставшиеся 5 строк.

8. Загрузить только определенные столбцы (и игнорировать другие) при загрузки из файла

В следующем примере мы имеем значения только для трех полей. У нас нет столбца department в этом примере файла.

Для того, чтобы загрузить значения из входной записи на определенный столбец в таблице, укажите имена столбцов во время загрузки данных INFILE, как показано ниже. В последней строке в следующей команде есть имена столбцов, которые должны использоваться для загрузки записей из входного текстового файла.

Опять же, имейте в виду, что, когда вы не указываете список столбцов, то команда будет ожидать, что все столбцы должны присутствовать в файле ввода.

Кроме того, если вы не указали список столбцов в последней строке, вы получите ошибку синтаксиса, как показано ниже.

Для этого примера, давайте использовать следующий файл worker2.txt.

В этом примере, мы хотим, увеличить зарплату на 500, прежде чем загружать его в таблицу. Например, заработная плата для Andreyex (является первой записью) 5000. Но, во время загрузки мы хотим увеличить на 500 до 5500, и обновлять это измененное значение в таблице.

Для этого используйте команду SET и использовать зарплату в качестве переменной и сделать приращение, как показано ниже.

Как видно из следующего вывода, столбец зарплата увеличивается на 500 для всех записей во время загрузки данных из текстового файла.

10. Запись Shell Скрипт для загрузки данных из текстового файла

Иногда вы можете загрузить данные из текстового файла автоматически, без необходимости входа в MySQL каждый раз.

Скажем, мы хотим поставить следующую команду внутри сценария оболочки и выполнить это автоматически для базе данных andreyexbase.

Чтобы выполнить загрузку из командной строки, вы можете использовать опцию -e в команде mysql и выполнить его из строки Linux, как показано ниже.

Или, вы можете положить, внутри сценария оболочки, как показано ниже. В этом примере сценарий оболочки loads-data.sh имеет указанную выше команду MySQL.

Дайте разрешение на выполнение на этот скрипт loads-data.sh, и выполните его из командной строки, которая будет загружать данные автоматически в таблицу. Можно также запланировать это как cronjob для загрузки данных из файла автоматически в таблицу на запланированный интервал.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

у меня есть файл 350MB с именем text_file.txt содержит данные с разделителями табуляции:

имя базы данных MySQL: Xml_Date

таблицы базы данных: PerformanceReport

Я уже создал таблицу со всеми полями назначения.

Я хочу импортировать данные этого текстового файла в MySQL. Я погуглил и нашел некоторые команды, такие как LOAD DATA INFILE и совсем запутался в том, как его использовать.

как импортировать данные этого текстового файла?

это должно быть так же просто, как.

по умолчанию LOAD DATA INFILE использует табуляцию с разделителями, по одной строке на строку, поэтому она должна быть в порядке.

Пошаговое Руководство по использованию команды загрузки данных MySQL:

создайте файл с разделителями табуляции (обратите внимание, что между столбцами есть вкладки):

используйте команду load data:

проверьте, если это сработало:

Как указать, в какие столбцы загружать столбцы текстового файла:

содержимое файла помещается в переменные @col1, @col2, @col3. myid получает столбец 1, а mydecimal получает столбец 3. Если бы это было запущено, он пропустил бы второй ряд:

Если ваша таблица разделена другими, чем вкладки,вы должны указать ее как.

инструкция LOAD DATA INFILE считывает строки из текстового файла в таблицу с очень высокой скоростью.

если файл данных выглядит так:

результирующие строки будут ("abc", 1) и ("def", 2). Третья строка в файле пропускается, поскольку она не содержит префикса.

вы также можете загружать файлы данных с помощью утилиты mysqlimport; он работает, отправляя инструкцию LOAD DATA INFILE на сервер

вы должны установить опцию:

в вашу [mysql] запись my.cnf-файл или вызов mysql-клиента с параметром --local-infile:

вы должны быть уверены, что тот же параметр определен в вашем разделе [mysqld], чтобы включить серверную сторону функции "local infile".

Это ограничение безопасности.

1. если это txt-файл с разделителями табуляции:

загрузить локальный ИНФИЛЬ данных 'D:/MySQL/event - . txt ' в событие таблицы

строки, заканчивающиеся на '\r\n';

2. иначе:

загрузить локальный ИНФИЛЬ данных 'D:/MySQL/event - . txt ' в событие таблицы

поля, заканчивающиеся на 'x' (здесь x может быть запятой ',', tab '\t', точкой с запятой ';', пробел ' ')

Иногда возникает необходимость загрузить данные именно из текстового файла в базу MSSql 2008, используя при этом VBA Access 2003, т.е. не просто разово загружать данные, а реализовать это так чтобы пользователь смог это делать сам, используя интерфейс клиента, а именно Access 2003. Поэтому сегодня мы рассмотрим один вариант, как можно загрузить данные из текстового файла в MSSql 2008, используя VBA Access.

И начать хотелось бы с того, что мы с Вами уже рассматривали примеры загрузки данных в базу MSSql 2008 через интерфейс Access, правда, из Excel файла, если Вы не читали то советую для начала прочитать вот этот материал «Access – Импорт данных в базу MSSql 2008». Также, если кого интересует, как можно выгрузить данные из базы MSSql 2008 используя интерфейс Access, причем не просто выгрузить, а выгрузить в шаблон Word или Excel то это мы рассматривали вот здесь «Выгрузка данных из Access в шаблон Word и Excel».

И так приступим, сперва давайте разберем исходные данные и обрисуем задачу, которую нам необходимо выполнить.

Имеется клиент adp проект Access, работает в связке с MSSql 2008. Возникала необходимость загружать данные из текстового файла, который имеет специфическую структуру, например (данные конечно выдуманные)


Как видите текстовый файл необычный, но из него необходимо получить данные вида


Как Вы понимаете представить их в табличном виде. Т.е. «Начало» и «Конец» это граница строки.

И для начала необходимо создать таблицу, в которую Вы будете грузить наши данные, я создал таблицу test_import, вот код:

Далее напишем код на VBA, который будет загружать эти данные в том виде, в котором нам нужно. Для начала на форме создадим элемент управления «Кнопка», Вы же можете использовать свой интерфейс, это не принципиально, например


Далее в событие «Нажатие кнопки» вставьте следующий код (его, как обычно я подробно прокомментировал):

Код VBA для импорта данных из текстового файла

Вот и все, теперь сохраняете форму, открываете ее и нажимаете кнопку «Импорт» (как у меня) выбираете файл и данные уже в базе. Проверяете данные путем написания простого sql запроса (Основы языка SQL – оператор select):

Надеюсь, данный пример загрузки данных из текстового файл окажется полезным. Удачи в освоении программирования на VBA Access.

Заметка! Если Вас интересует SQL и T-SQL, рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.

Читайте также: