Б. В. Казаков
Основы работы в MySQL
Учебное пособие
Пенза
Издательство ПГУ
2012
УДК 681.3.06
ББК 12971.26-978.2
К14
Р е ц е н з е н т ы:
кандидат технических наук, доцент кафедры
«Экономико-математические методы и модели»
Пензенского филиала Всероссийского заочного
финансово-экономического института <...> ISBN 978-5-94170-457-6
Рассматриваются способы создания баз данных MySQL, команды
создания и удаления таблиц, типы данных, которые можно использовать для столбцов таблиц баз данных MySQL, логические операторы и
способы их применения в MySQL, способы упорядочивания данных,
способы ограничения извлекаемых данных и команды обновления записей, способы поиска максимального, минимального и среднего значений, команды нахождения суммы и количества записей, команды
группировки и сортировки данных в таблицах, математические функции MySQL, с датой и временем в MySQL, команды, предназначенные
для обработки строковых данных, команды создания представлений,
хранимых процедур, функций, триггеров. <...> В реляционных СУБД применяется язык SQL, позволяющий
формулировать произвольные, нерегламентированные запросы. <...> Реляционные базы данных страдают от различий в реализации
языка SQL, хотя это и не проблема реляционной модели. <...> Каждая реляционная СУБД реализует какое-то подмножество стандарта SQL
плюс набор уникальных команд, что усложняет задачу программистам, пытающимся перейти от одной СУБД к другой. <...> Запустите сервер MySQL, выполняя команду MySQLd-shareware-standalone в строке приглашения в каталоге c:\MySQL\bin <...> 2) сервер MySQL должен ответить примерно, как на рис. <...> Работа с таблицами
Теперь рассмотрим команды MySQL для создания таблиц базы
данных и выбора базы данных. <...> Команда SQL для создания такой таблицы выглядит следующим
образом:
CREATE TABLE employee_data
(
emp_id int unsigned not null auto_increment primary key,
f_name varchar(20),
l_name varchar(20),
title varchar(10),
age int,
yos int,
salary int,
perks int,
email varchar(60)
);
П р и м е ч а н и е. <...> За ключевыми словами CREATE TABLE следует имя создаваемой таблицы employee_data. <...> Эти столбцы хранят для каждого сотрудника
идентификационный <...>
«Основы_работы_в_MYSQL».pdf
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Федеральное государственное бюджетное
образовательное учреждение
высшего профессионального образования
«Пензенский государственный университет» (ПГУ)
Б. В. Казаков
Основы работы в MySQL
Учебное пособие
Пенза
Издательство ПГУ
2012
Стр.1
УДК 681.3.06
ББК 12971.26-978.2
К14
Р е ц е н з е н т ы:
кандидат технических наук, доцент кафедры
«Экономико-математические методы и модели»
Пензенского филиала Всероссийского заочного
финансово-экономического института
О. В. Прокофьев;
кандидат технических наук, доцент, начальник кафедры
«Автоматизированные системы управления
и программного обеспечения» Военного учебно-научного центра
Сухопутных войск Общевойсковой академии Вооруженных сил
Российской Федерации (филиал в г. Пензе)
В. Б. Шмельков
Казаков, Б. В.
К14
Основы работы в MySQL : учеб. пособие / Б. В. Казаков.
– Пенза : Изд-во ПГУ, 2012. 144 с.
ISBN 978-5-94170-457-6
Рассматриваются способы создания баз данных MySQL, команды
создания и удаления таблиц, типы данных, которые можно использовать
для столбцов таблиц баз данных MySQL, логические операторы и
способы их применения в MySQL, способы упорядочивания данных,
способы ограничения извлекаемых данных и команды обновления записей,
способы поиска максимального, минимального и среднего значений,
команды нахождения суммы и количества записей, команды
группировки и сортировки данных в таблицах, математические функции
MySQL, с датой и временем в MySQL, команды, предназначенные
для обработки строковых данных, команды создания представлений,
хранимых процедур, функций, триггеров.
Учебное пособие подготовлено на кафедре «Математическое обеспечение
и применение ЭВМ» и предназначено для студентов, обучающихся
по направлениям подготовки 230400 «Информационные системы
и технологии» и 231000 «Программная инженерия».
УДК 681.3.06
ББК 12971.26-978.2
ISBN 978-5-94170-457-6
2
© Пензенский государственный
университет, 2012
Стр.2
СОДЕРЖАНИЕ
Введение в MySQL......................................................................................................... 4
1. Создание базы данных, основы работы с таблицами.................................... 6
2. Типы данных .............................................................................................................. 14
3. Работа с таблицами. Внесение, извлечение, поиск
и удаление данных........................................................................................................ 31
4. Логические операторы............................................................................................ 42
5. Команды обработки данных................................................................................ 53
6. Математические функции MySQL..................................................................... 59
7. Работа с датой и временем.................................................................................... 73
8. Работа со строками................................................................................................... 80
9. Дополнительные функции MySQL.................................................................... 91
10. Работа с внешними базами данных. Ограничение доступа.................. 104
11. Представления, хранимые процедуры, функции, триггеры................. 106
12. Словарь данных .................................................................................................... 116
13. Курсоры ................................................................................................................... 120
Список литературы..................................................................................................... 122
Приложение 1. Установка MySQL........................................................................ 123
Приложение 2. Встроенные функции MySQL.................................................. 131
3
Стр.3
Введение в MySQL
MySQL это быстрая, надежная, открыто распространяемая
СУБД. MySQL, как и многие другие СУБД, функционирует по модели
«клиент/сервер». Под этим подразумевается сетевая архитектура,
в которой компьютеры играют роли либо клиентов, либо серверов.
На рис. В.1 изображена схема передачи информации между
компьютером клиента и жестким диском сервера.
Рис. В.1. Схема передачи данных
в архитектуре «клиент/сервер»
СУБД управляет одной или несколькими базами данных. База
данных представляет собой совокупность информации, организованной
в виде множеств. Каждое множество содержит записи унифицированного
вида. Сами записи состоят из полей. Обычно множества
называют таблицами, а записи – строками таблиц.
Такова логическая модель данных. На жестком диске вся база
данных может находиться в одном файле. В MySQL для каждой базы
данных создается отдельный каталог, а каждой таблице соответствуют
три файла. В других СУБД могут использоваться иные
принципы физического хранения данных.
MySQL – это реляционная СУБД.
В реляционной модели база данных представляет собой централизованное
хранилище таблиц, обеспечивающее безопасный одновременный
доступ к информации со стороны многих пользователей.
В строках таблиц часть полей содержит данные, относящиеся непосредственно
к записи, а часть – ссылки на записи других таблиц. Таким
образом, связи между записями являются неотъемлемым свойством
реляционной модели.
Каждая запись таблицы имеет одинаковую структуру. Например,
в таблице, содержащей описания автомобилей, у всех записей
будет один и тот же набор полей: производитель, модель, год выпуска,
пробег и т.д. Такие таблицы легко изображать в графическом
виде.
4
Стр.4
В реляционной модели достигается информационная и структурная
независимость. Записи не связаны между собой настолько,
чтобы изменение одной из них затронуло остальные, а изменение
структуры базы данных не обязательно приводит к перекомпиляции
работающих с ней приложений.
В реляционных СУБД применяется язык SQL, позволяющий
формулировать произвольные, нерегламентированные запросы. Это
язык четвертого поколения, поэтому любой пользователь может быстро
научиться составлять запросы. К тому же существует множество
приложений, позволяющих строить логические схемы запросов в
графическом виде. Все это происходит за счет ужесточения требований
к производительности компьютеров. К счастью, современные
вычислительные мощности более чем адекватны.
Реляционные базы данных страдают от различий в реализации
языка SQL, хотя это и не проблема реляционной модели. Каждая реляционная
СУБД реализует какое-то подмножество стандарта SQL
плюс набор уникальных команд, что усложняет задачу программистам,
пытающимся перейти от одной СУБД к другой. Приходится
делать нелегкий выбор между максимальной переносимостью и
максимальной производительностью. В первом случае нужно придерживаться
минимального общего набора команд, поддерживаемых
в каждой СУБД. Во втором случае программист просто сосредоточивается
на работе в данной конкретной СУБД, используя преимущества
ее уникальных команд и функций.
5
Стр.5