Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РУБД - Теория по SQL .doc
Скачиваний:
5
Добавлен:
27.08.2019
Размер:
691.71 Кб
Скачать

Синтаксис оператора truncate

TRUNCATE TABLE table_name

TRUNCATE TABLE имеет следующие отличия от DELETE FROM ...:

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

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

Не возвращает количество удаленных строк.

Пока существует корректный файл table_name.frm, таблицу можно воссоздать с его с помощью, даже если файлы данных или индексов повреждены.

TRUNCATE является расширением Oracle SQL.

mysqlimport, импорт данных из текстовых файлов

Можно также загружать файлы данных, используя утилиту mysqlimport. Эта утилита выполняет загрузку файлов путем посылки на сервер команд LOAD DATA INFILE. Опция --local заставляет mysqlimport читать файлы данных с клиентского хоста. Можно указать параметр --compress, чтобы получить лучшую производительность при работе через медленные сети, если и клиент, и сервер поддерживают протокол сжатия данных.

Утилита mysqlimport обеспечивает интерфейс командной строки для SQL-оператора LOAD DATA INFILE. Большинство параметров mysqlimport полностью соответствует аналогичным параметрам для оператора LOAD DATA INFILE.

mysqlimport [параметры] database textfile1 [textfile2 ...]

Для каждого текстового файла, указанного в командной строке, mysqlimport удаляет расширение в каждом имени файла и использует его, чтобы определить, в какую таблицу занести содержимое. Например, файлы с именами patient.txt, patient.text и patient должны быть все занесены в таблицу с именем patient.

Утилита mysqlimport поддерживает следующие опции:

-c, --columns=... список разделенных запятыми имен полей. Данный список полей используется для создания соответствующей команды LOAD DATA INFILE, которая затем посылается в MySQL.

-#, --debug[=option_string] Отслеживать прохождение программы (для отладки).

-d, --delete Удалить данные из таблицы перед импортированием текстового файла.

--fields-terminated-by=... , --fields-enclosed-by=... , --fields-optionally-enclosed-by=... , --fields-escaped-by=... , --lines-terminated-by=... Эти опции аналогичны соответствующим операторам для LOAD DATA INFILE.

-h host_name, --host=host_name Импортировать данные в MySQL-сервер на указанном хосте. Значение хоста по умолчанию - localhost.

-l, --lock-tables Заблокировать все таблицы для записи перед обработкой любых текстовых файлов. Это обеспечивает синхронизацию всех таблиц на сервере.

-L, --local Читать входящие файлы из клиента. По умолчанию предполагается, что текстовые файлы расположены на сервере при подсоединении к localhost (значение хоста по умолчанию).

-pyour_pass, --password[=your_pass] Используемый пароль при подключении к серверу. Если аргумент =your_pass не введен, mysqlimport предложит ввести пароль.

-P port_num, --port=port_num Номер порта TCP/IP, используемого для подсоединения к хосту.

-r, --replace и --ignore управляют обработкой поступающих на вход записей, которые дублируют имеющиеся записи по значениям уникальных ключей. Если задано значение --replace, новые строки заменяют существующие с тем же самым значением уникального ключа. Если задано значение --ignore, входные строки, которые дублируют существующую строку по значению уникального ключа, пропускаются. Если же ни одна из опций не задана, то при обнаружении ключа-дубликата возникает ошибка и остаток текстового файла игнорируется.

-s, --silent Режим молчания. Выводить только сообщения об ошибках.

-u user_name, --user=user_name Имя пользователя MySQL-сервера, используемое при подсоединении к серверу.

-v, --verbose Расширенный режим вывода. Вывод более детальной информации о работе программы.