Электронная библиотека » Виктор Гольцман » » онлайн чтение - страница 5


  • Текст добавлен: 4 ноября 2013, 19:53


Автор книги: Виктор Гольцман


Жанр: Базы данных, Компьютеры


сообщить о неприемлемом содержимом

Текущая страница: 5 (всего у книги 18 страниц) [доступный отрывок для чтения: 5 страниц]

Шрифт:
- 100% +
Изменение структуры таблицы

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

• Добавить столбец вы можете с помощью команды


ALTER TABLE <Имя таблицы>

ADD <Имя столбца> <Тип столбца> [<Свойства столбца>]

[FIRST или AFTER <Имя предшествующего столбца>];


В этой команде мы указываем имя таблицы, в которую добавляется столбец, а также имя и тип добавляемого столбца (о типах столбцов см. пункт «Типы данных в MySQL»). При необходимости можно также задать свойства добавляемого столбца (см. пункт «Свойства столбцов»). Кроме того, можно определить место нового столбца среди уже существующих: добавляемый столбец может стать первым (FIRST) или следовать после указанного предшествующего столбца (AFTER). Если место столбца не задано, он становится последним столбцом таблицы.

Например, чтобы добавить в таблицу Products (Товары) столбец store (название склада, где хранится каждый вид товара), выполните команду


ALTER TABLE Products ADD store VARCHAR(100) AFTER details;


Примечание

Добавить столбец со свойством AUTO_INCREMENT можно только с одновременным созданием индекса или ключа для этого столбца. Например, если бы столбец id не был включен в таблицу Products (Товары) при ее создании, мы могли бы добавить его с помощью команды

ALTER TABLE Products

ADD id BIGINT AUTO_INCREMENT, ADD PRIMARY KEY (id);

• Добавить первичный ключ вы можете с помощью команды


ALTER TABLE <Имя таблицы>

ADD [CONSTRAINT <Имя ключа>]

PRIMARY KEY (<Список столбцов>);


При добавлении в таблицу первичного ключа мы указываем имя таблицы, в которую нужно добавить ключ, и имена столбцов, которые будут образовывать первичный ключ (эти столбцы должны уже существовать в таблице). Более подробно о первичных ключах было сказано в пункте «Ключевые столбцы и индексы».

Например, если бы первичный ключ не был определен при создании таблицы Orders (Заказы), мы могли бы добавить его с помощью команды


ALTER TABLE Orders ADD PRIMARY KEY (id);


• Добавить внешний ключ вы можете с помощью команды


ALTER TABLE <Имя таблицы>

ADD [CONSTRAINT <Имя внешнего ключа>]

FOREIGN KEY [<Имя индекса>] (<Список столбцов>)

REFERENCES <Имя родительской таблицы>

(<Список столбцов первичного ключа родительской таблицы>)

[<Правила поддержания целостности связи>];


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

Например, если бы внешний ключ не был определен при создании таблицы Orders (Заказы), мы могли бы добавить его с помощью команды


ALTER TABLE Orders

ADD FOREIGN KEY (customer_id) REFERENCES Customers (id)

ON DELETE RESTRICT ON UPDATE CASCADE);


Более подробно о внешних ключах говорилось в пункте «Ключевые столбцы и индексы».

• Добавить в таблицу обычный индекс вы можете с помощью команды


ALTER TABLE <Имя таблицы>

ADD INDEX [<Имя индекса>] (<Список столбцов>);


Добавить уникальный индекс – с помощью команды


ALTER TABLE <Имя таблицы>

ADD [CONSTRAINT <Имя ограничения>]

UNIQUE (<Список столбцов>);


Добавить полнотекстовый индекс – с помощью команды ALTER TABLE <Имя таблицы>


ALTER TABLE <Имя таблицы>

ADD FULLTEXT [<Имя индекса>] (<Список столбцов>);


При добавлении в таблицу индекса мы указываем имя таблицы, в которую нужно добавить индекс, и имена столбцов, включенных в индекс. В случае необходимости можно также задать имя индекса. Более подробно об индексах было сказано в пункте «Ключевые столбцы и индексы».

Например, добавить индекс для столбца store (склад) таблицы Products (Товары) можно с помощью команды


ALTER TABLE Products ADD INDEX (store);


• Изменить столбец таблицы вы можете с помощью следующих команд:

– Чтобы полностью изменить описание столбца, выполните команду


ALTER TABLE <Имя таблицы>

CHANGE <Прежнее имя столбца >

<Новое имя столбца>

<Новый тип столбца> [<Свойства столбца>]

[FIRST или AFTER <Имя предшествующего столбца>];


Внимание!

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

В этой команде мы указываем имя таблицы, текущее имя столбца, новое имя столбца (которое может совпадать с текущим), новый тип столбца (который также может совпадать с текущим типом), а также, при необходимости, свойства столбца (старые свойства при выполнении команды CHANGE удаляются). Кроме того, можно определить место столбца среди остальных столбцов таблицы: изменяемый столбец может стать первым (FIRST) или следовать после указанного предшествующего столбца (AFTER).

Например, чтобы переименовать столбец store (склад) таблицы Products (Товары) в warehouse (склад) и изменить его тип на CHAR(100), выполните команду


ALTER TABLE Products CHANGE store warehouse CHAR(100);


Чтобы присвоить столбцу свойство AUTO_INCREMENT, необходимо либо одновременно с этим, либо заранее создать индекс для этого столбца.

– Чтобы изменить описание столбца без переименования, выполните команду


ALTER TABLE <Имя таблицы>

MODIFY <Имя столбца>

<Новый тип столбца> [<Свойства столбца>]

[FIRST или AFTER <Имя предшествующего столбца>];


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

– Чтобы установить значение по умолчанию для столбца, выполните команду


ALTER TABLE <Имя таблицы>

ALTER <Имя столбца>

SET DEFAULT <Значение по умолчанию>;


Например, чтобы установить для столбца warehouse таблицы Products значение по умолчанию Склад № 1, выполните команду


ALTER TABLE Products

ALTER warehouse SET DEFAULT 'Склад № 1';


Чтобы удалить значение по умолчанию, выполните команду

ALTER TABLE <Имя таблицы>

ALTER <Имя столбца> DROP DEFAULT;


Например, удалить значение по умолчанию, установленное для столбца warehouse, можно с помощью команды


ALTER TABLE Products ALTER warehouse DROP DEFAULT;


• Удалить столбец таблицы вы можете с помощью команды


ALTER TABLE <Имя таблицы> DROP <Имя столбца>;


При удалении столбца он удаляется также из всех индексов, в которые он был включен (в отличие от первичного и внешнего ключа, которые требуется удалить прежде, чем удалять входящие в них столбцы). Если при этом в индексе не остается столбцов, то индекс также автоматически удаляется. Например, для удаления столбца warehouse (склад) из таблицы Products (Товары) выполните команду


ALTER TABLE Products DROP warehouse;


• Удалить первичный ключ вы можете с помощью команды


ALTER TABLE <Имя таблицы> DROP PRIMARY KEY;


Например, удалить первичный ключ из таблицы Orders (Заказы) можно с помощью команды


ALTER TABLE Orders DROP PRIMARY KEY;


• Удалить внешний ключ вы можете с помощью команды


ALTER TABLE <Имя таблицы>

DROP FOREIGN KEY <Имя внешнего ключа>;


В этой команде необходимо указать имя внешнего ключа. Если вы не задали имя внешнего ключа при его создании, то имя было присвоено автоматически и узнать его можно с помощью команды SHOW CREATE TABLE (см. подраздел «Другие команды для работы с таблицами»).

Например, удалить внешний ключ из таблицы Orders можно с помощью команды


ALTER TABLE Orders DROP FOREIGN KEY orders_ibfk_1;


(здесь orders_ibfk_1 – имя внешнего ключа, автоматически присвоенное ему при создании).

• Удалить индекс (обычный, уникальный или полнотекстовый) вы можете с помощью команды


ALTER TABLE <Имя таблицы> DROP INDEX <Имя индекса>;


В этой команде необходимо указать имя индекса. Если вы не задали имя индекса при его создании, то имя было присвоено автоматически и узнать его можно с помощью команды SHOW CREATE TABLE (см. подраздел «Другие команды для работы с таблицами»).

Например, удалить индекс, созданный для поля name (имя) таблицы Customers (Клиенты), можно с помощью команды


ALTER TABLE Customers DROP INDEX name;


(здесь name – имя индекса: по умолчанию индексу присваивается имя первого индексируемого столбца).

• Включить и отключить обновление неуникальных индексов в таблице с типом MyISAM вы можете с помощью следующих команд:


ALTER TABLE <Имя таблицы> DISABLE KEYS;


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


ALTER TABLE <Имя таблицы> ENABLE KEYS;


Эта команда позволяет восстановить индексы после добавления строк.

• Переименовать таблицу вы можете с помощью команды


ALTER TABLE <Имя таблицы> RENAME <Новое имя таблицы>;


• Упорядочить строки таблицы по значениям одного или нескольких столбцов вы можете с помощью команды


ALTER TABLE <Имя таблицы>

ORDER BY <Имя столбца 1> [ASC или DESC],

[<Имя столбца 2> [ASC или DESC],…];


Упорядочение строк позволяет ускорить последующие операции сортировки по значениям указанных столбцов. Однако порядок строк в таблице может нарушиться после операций добавления и удаления строк. По умолчанию строки таблицы упорядочиваются по возрастанию значений. Вы можете выбрать направление сортировки, указав ключевое слово ASC (по возрастанию) или DESC (по убыванию).

Для таблиц с типом InnoDB, в которых есть первичный ключ или уникальный индекс, не допускающий неопределенных значений (NOT NULL UNIQUE), эта команда игнорируется, поскольку строки таких таблиц автоматически упорядочиваются по значениям этого ключа/индекса.

• Задать опциональные свойства таблицы (см. пункт «Опциональные свойства таблицы») вы можете с помощью команды


ALTER TABLE <Имя таблицы> <Опциональное свойство таблицы>;


Например, изменить тип таблицы можно с помощью команды


ALTER TABLE <Имя таблицы> ENGINE <Новый тип таблицы>;


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


ALTER TABLE <Имя таблицы>

CHARACTER SET <Имя кодировки>

[COLLATE <Имя правила сравнения>];


Например, если для таблицы Products (Товары) требуется установить в качестве кодировки по умолчанию кодировку CP-1251, это можно сделать с помощью команды


ALTER TABLE Products CHARACTER SET cp1251;


После выполнения этой команды существующие столбцы таблицы Products по-прежнему будут иметь кодировку UTF-8. Если же с помощью команды ALTER TABLE будут добавляться новые символьные столбцы, то им будет по умолчанию присваиваться кодировка CP-1251.

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


ALTER TABLE <Имя таблицы>

CONVERT TO CHARACTER SET <Имя кодировки>

[COLLATE <Имя правила сравнения>];


При выполнении этой команды не просто меняются описания символьных столбцов: данные в этих столбцах также преобразуются в новую кодировку. Например, после выполнения команды


ALTER TABLE Products CONVERT TO CHARACTER SET cp1251;


все наименования и описания товаров (значения столбцов description и details) преобразуются в кодировку CP-1251.

Если же данные в столбце фактически закодированы с помощью одной кодировки, а в описании столбца указана другая кодировка, исправить эту ошибку можно, изменив кодировку только в описании столбца, без преобразования данных. Это можно сделать, преобразовав тип столбца из символьного в бинарный (то есть тип CHAR преобразовать в тип BINARY, тип VARCHAR – в тип VARBINARY, тип TEXT – в тип BLOB и т. п.), а затем обратно в символьный, уже в правильной кодировке. Для этого выполним последовательно две команды:


ALTER TABLE <Имя таблицы>

CHANGE <Имя столбца> <Имя столбца> <Бинарный тип данных>;

ALTER TABLE <Имя таблицы>

CHANGE <Имя столбца> <Имя столбца> <Исходный тип данных>

CHARACTER SET <Фактическая кодировка значений>;


Например, если для столбца details таблицы Products установлен тип TEXT и кодировка UTF-8, а данные в нем фактически находятся в кодировке CP-1251, приведем описание столбца в соответствие с реальной кодировкой с помощью команд


ALTER TABLE Products CHANGE details details BLOB;

ALTER TABLE Products

CHANGE details details TEXT CHARACTER SET cp1251;


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

Другие команды для работы с таблицами

В этом подразделе мы познакомимся с командами получения информации о таблицах, а также с командой удаления таблицы.

Получить детальную информацию о конкретной таблице вы можете с помощью команды


DESCRIBE <Имя таблицы>;


или


SHOW CREATE TABLE <Имя таблицы>;


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

Команда DESCRIBE выводит информацию о столбцах таблицы. Например, чтобы получить информацию о столбцах таблицы Customers (Клиенты), выполним команду


DESCRIBE Customers;


Примечание

Во всех клиентских приложениях, подключенных к серверу MySQL, в результате выполнения одной и той же команды отображаются одни и те же данные. Однако окна разных клиентских приложений выглядят по-разному (сравним, например, рис. 2.2 и рис. 2.4). Поэтому здесь и далее мы будем приводить не изображение окна, а только сами данные, выводимые командой.

Результат выполнения этой команды представлен в табл. 2.1.

Таблица 2.1. Результат выполнения команды DESCRIBE Customers;

Для каждого столбца таблицы команда DESCRIBE отображает следующие характеристики:

• Field – имя столбца;

• Type – тип столбца;

• Null – указывает, допускает ли столбец неопределенные значения (NULL): YES – допускает, NO – не допускает;

• Key – показывает вхождение столбца в ключи и индексы:

– PRI – столбец входит в первичный ключ или, если в таблице нет первичного ключа, в уникальный индекс, не допускающий неопределенных значений;

– UNI, MUL – столбец является первым столбцом индекса;

• Default – значение столбца по умолчанию;

• Extra – дополнительная информация.

Команда SHOW CREATE TABLE выводит полную информацию о всех параметрах таблицы в виде текста команды CREATE TABLE, позволяющей создать таблицу, идентичную данной. Эта команда может не совпадать с командой, с помощью которой была в действительности создана таблица, если, например, таблица была изменена с помощью команды ALTER TABLE или программа MySQL автоматически внесла корректировки в структуру таблицы (например, добавление значения по умолчанию для столбца или присвоение имени индексу). К примеру, команда


SHOW CREATE TABLE Customers;


выводит результат, представленный в табл. 2.2.

Таблица 2.2. Результат выполнения команды SHOW CREATE TABLE Customers;

Если сравнить данные из табл. 2.2 с «настоящей» командой создания таблицы Customers (см. листинг 2.2), то вы увидите, как изменились определения столбцов.

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


SHOW TABLES;


Если вы выбрали в качестве текущей базу данных SalesDept (Отдел продаж) и создали в ней три таблицы – Customers (Клиенты), Products (Товары) и Orders (Заказы), то команда SHOW TABLES выведет следующий результат (табл. 2.3).

Таблица 2.3. Результат выполнения команды SHOW TABLES;

Наконец, чтобы удалить ненужную или ошибочно созданную таблицу, выполните команду


DROP TABLE <Имя таблицы>;


Внимание!

Удаление таблицы – очень ответственная операция, поскольку она приводит к удалению всех данных, хранившихся в таблице. Рекомендуется перед удалением таблицы создать резервную копию базы данных.

Итак, вы освоили основные операции, выполняемые с таблицами, а именно: команды CREATE TABLE (создание), ALTER TABLE (изменение), DROP TABLE (удаление), SHOW TABLES (просмотр списка таблиц), DESCRIBE и SHOW CREATE TABLE (просмотр информации о таблице). Теперь мы переходим к работе с отдельными строками.

2.4. Ввод данных в таблицу

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

Загрузка данных из файла

Если требуется добавить в таблицу большой массив данных, удобно использовать для этого команду загрузки данных из файла. Загрузка из файла выполняется программой MySQL значительно быстрее, чем вставка строк с помощью команды INSERT.

Например, чтобы загрузить данные в таблицу Customers (Клиенты), команда создания которой показана в листинге 2.2, выполните следующие действия.

1. Запустите стандартную программу Windows Блокнот (Пуск → Все программы → Стандартные → Блокнот).

2. В окне программы Блокнот введите данные, используя для отделения значений друг от друга клавишу Tab, а для перехода на следующую строку – клавишу Enter (рис. 2.5).

Рис. 2.5. Ввод данных в текстовый файл


Примечание

Вместо отсутствующего значения необходимо при заполнении файла ввести символы «N». Тогда в базу данных будет загружено неопределенное значение (NULL).

3. Для сохранения файла с данными нажмите комбинацию клавиш Ctrl+S. В стандартном окне Windows Сохранить как выберите папку, в которую нужно поместить файл (например, C: data). Введите имя файла (например, Customers. txt) и нажмите кнопку Сохранить.

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


LOAD DATA LOCAL INFILE 'C:/data/Customers.txt'

INTO TABLE Customers

CHARACTER SET cp1251;


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

Файл Customers.txt мы создали в формате, принятом по умолчанию в MySQL, поэтому при загрузке потребовалось указать только один дополнительный параметр – кодировку Windows.

Однако если вам нужно загрузить в таблицу данные из текстового файла, который был создан в другом формате (например, выгружен из другой базы данных), могут потребоваться и другие параметры. Полностью команда LOAD DATA имеет следующий вид:


LOAD DATA [LOCAL] INFILE 'Путь и имя файла'

[REPLACE или IGNORE]

INTO TABLE <Имя таблицы>

CHARACTER SET <Имя кодировки>

[

FIELDS

[TERMINATED BY <Разделитель значений в строке>]

[[OPTIONALLY]

ENCLOSED BY <Символ, в который заключены значения>]

[ESCAPED BY <Экранирующий символ>]

]

[

LINES

[STARTING BY <Префикс строки>]

[TERMINATED BY <Разделитель строк>]

]

[IGNORE <Количество строк в начале файла> LINES]

[(<Список столбцов>)]

[SET <Имя столбца> = <Выражение>,…];


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

• LOCAL – укажите этот параметр, если файл с данными находится на клиентском компьютере (то есть на том компьютере, где работает клиентское приложение, в котором вы и вводите эту команду). Если файл расположен на компьютере, где работает сервер MySQL, параметр LOCAL указывать не нужно.

• 'Путь и имя файла' – введите полный путь к файлу, например C:/Data/ mytable.txt (необходимо использовать прямую косую черту вместо обратной, принятой в Windows).

• REPLACE или IGNORE – укажите один из этих параметров, чтобы сообщить программе MySQL, как нужно обрабатывать загружаемую строку, если в таблице уже есть строка с таким же значением первичного ключа или уникального индекса. Если указан параметр REPLACE, то существующая в таблице строка заменяется новой. Если указан параметр IGNORE, новая строка в таблицу не загружается.

• CHARACTER SET <Имя кодировки> – укажите кодировку данных в файле. Этот параметр используется для корректного преобразования кодировок. Предполагается, что все данные в файле имеют одну и ту же кодировку.

Внимание!

Загрузка данных в кодировке UTF-8 может работать некорректно вследствие переменного количества байтов на символ в этой кодировке. Рекомендуем файл с данными в этой кодировке перед загрузкой преобразовать в какую-либо однобайтовую кодировку. Например, откроем файл с помощью программы Блокнот, в меню Файл выберем команду Сохранить как, а затем в стандартном окне Windows Сохранить как в поле Кодировка выберем из списка значение ANSI и нажмем кнопку Сохранить. После этого загрузим этот файл, указав в команде LOAD DATA параметр CHARACTER SET cp1251.

• FIELDS – укажите этот параметр, чтобы сообщить программе MySQL, в каком формате заданы значения в файле:

– TERMINATED BY <Разделитель значений в строке> – укажем символ, разделяющий значения в строке файла. Например, если значения разделены запятыми, укажем параметр TERMINATED BY, если значения разделены символами табуляции – TERMINATED BY t', если значения разделены косой чертой – TERMINATED BY /;

– ENCLOSED BY <Символ, в который заключены значения> – укажем символ, которым обрамляются значения. Например, если все значения заключены в одинарные кавычки, укажем ENCLOSED BY , если в одинарные кавычки заключены только символьные значения, укажем OPTIONALLY ENCLOSED BY , а если никакие значения не обрамляются никакими символами, укажем ENCLOSED BY или вообще опустим этот параметр;

– ESCAPED BY <Экранирующий символ> – укажем экранирующий символ (его также называют escape-символом). Этот символ сообщает программе MySQL, что следующий за ним символ нужно интерпретировать особым образом. А именно, обычный символ, следующий после экранирующего, будет рассматриваться как специальный символ, а специальный символ, наоборот, – как обычный символ.

Чаще всего экранирующим символом служит обратная косая черта, и в этом случае зададим значение ESCAPED BY \. Тогда, например, записанное в файле значение «N» будет прочитано и загружено в базу данных как NULL. Другой пример: если значения в файле разделены запятыми, то экранирующий символ помещается перед запятой, которая должна восприниматься как часть значения, а не как разделитель, то есть последовательность символов «,» интерпретируется как символ запятой в значении.

Если параметр FIELDS не указан, программа MySQL считает, что значения в файле разделяются табуляцией и не заключаются ни в какие кавычки, а в качестве экранирующего символа используется обратная косая черта.

• LINES – укажите этот параметр, чтобы сообщить программе MySQL, в каком формате заданы строки в файле:

– STARTING BY <Префикс строки> – укажем последовательность символов в начале каждой строки, которая должна игнорироваться программой вместе со всеми предшествующими символами. После префикса должны начинаться значения;

– TERMINATED BY <Разделитель строк> – укажем символ, которым заканчиваются строки. Например, если строки заканчиваются символом перевода строки, укажем параметр TERMINATED BY n', если символом возврата каретки – укажем TERMINATED BY r', если сочетанием этих символов – укажем TERMINATED BY rn', если нулевым байтом – укажем TERMINATED BY .

Если параметр LINES не указан, программа MySQL считает, что строки в файле не имеют префикса и заканчиваются символом перевода строки «n».

• IGNORE <Количество строк в начале файла> LINES – укажите этот параметр, если первые несколько строк в файле не содержат значений (иными словами, являются заголовком) и при загрузке их нужно пропустить.

• (<Список столбцов>) – перечислите столбцы таблицы, в которые будут загружаться данные. Это необходимо, если файл содержит данные не для всех столбцов таблицы или порядок следования значений в файле отличается от порядка столбцов в таблице.

• SET <Имя столбца> = <Выражение> – вы можете записывать в столбцы не только значения из файла, но и значения, вычисленные с помощью выражений. Для этого создадим одну или несколько переменных, присвоим им считанные из файла значения и запишем в столбец значение выражения, использующего эти переменные. Пусть, например, имеется таблица t1 с числовым столбцом c1 и столбцом с2 с типом TIMESTAMP. В столбец c1 нужно загрузить значение из файла, если это значение не превосходит 1000, либо NULL, если значение в файле больше 1000, а в столбец c2 при этом нужно записать текущую дату и время. Это можно сделать с помощью команды


LOAD DATA INFILE 'С:/DATA/t1.txt'

INTO TABLE t1 (@var1)

SET c1 = IF(@var1< = 1000,@var1,NULL), c2 = CURRENT_TIMESTAMP;


(о функции IF и о других функциях, используемых в выражениях, рассказывается в главе 3).

Далее рассмотрим команду INSERT, с помощью которой также можно добавлять строки в таблицу.

Внимание! Это не конец книги.

Если начало книги вам понравилось, то полную версию можно приобрести у нашего партнёра - распространителя легального контента. Поддержите автора!

Страницы книги >> Предыдущая | 1 2 3 4 5
  • 0 Оценок: 0

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации