Программирование >>  Программный интерфейс приложений 

1 ... 17 18 19 [ 20 ] 21 22 23 ... 264


Столбцы, не перечисленные в SET, получают значение по умолчанию. Такая форма оператора INSERT неприменима для вставки нескольких строк.

\ Существуют и другие методы зафузки данных в таблицы базы данных прямо из плоских файлов. Для этого существует оператор LOAD DATA и утилита mysqlimport.

Оператор LOAD DATA действует как массовый зафузчик, считывающий данные из файла. Так она работает из mysql.

mysql> LOAD DATA LOCAL INFILE member.txt INTO TABLE member;

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

Вариант LOAD DATA LOCAL не работает в версиях до 3.22.15, так как начиная только с этой версии была добавлена возможность чтения данных прямо с компьютера клиента. (Без ключа LOCAL зафужаемый файл должен быть расположен прямо на сервере, и поэтому для зафузки такого файла пользователь должен обладать широкими правами доступа к серверу, которых у него обычно нет.)

Формат данных в файлах по умолчанию предполагает, что столбцы разделены табуляциями, строки заканчиваются с началом новой строки, значения располагаются в порядке следования столбцов таблицы. Но есть возможность зафужать файлы в других форматах или определять другой порядок столбцов. Подробнее с этой проблемой можно ознакомиться в приложении Г, Синтаксис SQL .

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

LOAD DATA.

% mysql--local samp ctb member. txt

Здесь ПО сути утилита mysqlimport генерирует оператор LOAD DATA для зафузки файла member.txt в таблицу member. Такая команда не сработает для версии СУБД MySQL старше 3.22.15, так как для нее потребуется оператор LOAD DATA LOCAL. Здесь все делается так, как это делается в mysql: если нужны параметры для связи, указывайте их перед именем базы данных.

Утилита mysqlimport получает имя таблицы, для которой предназначены данные из имени файла. (Для этого используется все, что указывается в имени файла до первой точки.) Например, данные из файла member.txt будут зафужены в таблицу member, а из файла - president, txt - в таблицу president. Будьте осторожны, если возникла необходимость зафузки таблиц базы данных из нескольких файлов. Так, при использовании имен memberl.txt и member2.txt для корректной работы утилиты mysqlimport должны использоваться таблицы memberl



и membei2. В нашем случае подойдут имена member, l.txt /и member. 2 .txt или member . txtl и member. txt2.

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

% mysql saap db < insert president. sql

% mysql sa4p db < insert member. sql

% mysql saiip db < insert student. sql

% mysql saiip db < insert score. sql

% mysql saiip db < insert event. sql

% mysql sa4p db < insert absence. sql

Каждые файл содержит оператор DELETE, предназначенный для удаления всех записей, введенных в таблицу, и набор операторов INSERT для иницишизации содержимого таблицы. Это ввод можно упростить и ввести К0М1НДУ.

% cat inse:t *. sql I mysql samp db

Выборка информации

Теперь, когда таблицы созданы и заполнены данными, посмофим, что можносделать с этими данными. Оператор SELECT позволяет производить вы&рку и отображение информации из таблиц любым способом. Можно сдшать выборку всех столбцов и всех Сфок таблицы:

mysql> ЗЕЫСТ * FROM president

Или сдетать выборку одного столбца и одной сфоки таблицы:

mysql> SELICT birth date FRCM president WHERE last name = Eisenhover

Оператф SELECT состоит из нескольких предложений (частей), которые можно сочетать в любом порядке, в зависимости от того, какая информация ребуется для выборки. Любое предложение может быть сложным или фостым, в зависимости от чего весь оператор SELECT может быть сложн>1м или простым. Но я гарантирую, что в этой книге читатель не найдет гапросов размером со страницу, для объяснения которых по-фебуется еде одна сфаница.

Общий жнтаксис оператора SELECT имеет вид:

SELECT wha to select FROM table or tables

WHERE cond.tions that data must satisfy

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



Для создания оператора select необходимо определить, что требуется выбрать из таблиц. Для этой цели служат предложения from и where, которые используются наиболее часто, и group by, order ву и limit, которые встречаются реже.

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

mysql> SELECT 2+2, Hello, world , VERSIONO

1 2 + 2

Hello,

-+-+

world 1 VERSIONO 1

1 4

Hello,

world 1 3.23.0 alpha log -+-+

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

mysql> SELECT * FROM student;

1 name

1 sex

1 student id

1 Megan

1 F

1 1

1 Joseph

1 M

1 2

1 Kyle

1 M

1 3

1 Katie

1 Г

1 4

Значения всех столбцов возвращаются в том же порядке, в котором они хранятся в таблице. Этот совпадает с порядком, в котором столбцы перечислены оператором describe student (... в конце распечатки показывает, что запрос возвращает больще строк, чем показано).

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

mysql> SELECT name FROM student;

I name

I Megan I I Joseph I I Kyle I I Katie I

Для отображения нескольких столбцов в операторе select можно через запятую указать имена столбцов. Этот оператор аналогичен опе-



1 ... 17 18 19 [ 20 ] 21 22 23 ... 264

© 2006 - 2025 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика