- •Система управления базами данных MySql
 - •Тема 1: Архитектура и назначение сервера. Основные функции
 - •1.1. Введение в субд MySql
 - •1.2. Основные программы и утилиты MySql
 - •1.3. Инсталляция MySql на разных платформах
 - •Контрольные вопросы
 - •Тема 2: Основные типы данных и операторы субд MySql
 - •Типы данных
 - •Переменные
 - •Операторы
 - •Контрольные вопросы
 - •Тема 3: Утилита mysql
 - •3.1 Функции mysql
 - •3.2 Работа с базами данных и таблицами
 - •Контрольные вопросы
 - •Тема 4: Выборка данных
 - •Простые запросы
 - •Объединение таблиц
 - •Объединение таблицы с собой
 - •Теоретико-множественные операции с таблицами
 - •Подзапросы
 - •Контрольные вопросы
 - •Тема 5: Встроенные функции MySql
 - •5.1 Общие понятия
 - •5.2 Отладка и конфигурирование
 - •Управляющие функции
 - •If(условие, значение истина,значение_ложь)
 - •Ifnull( проверяемое_значение, возвращаемое _значение)
 - •Статистические и математические функции
 - •Функции работы с датой и временем
 
Контрольные вопросы
Основные функции MySql
Перечислите утилиты MySql и дайте краткую характеристику их назначению
Принцип работы СУБД MySql
Объясните особенности установки MySql в Linux
Объясните особенности установки MySql в Windows
Тема 2: Основные типы данных и операторы субд MySql
Цель: рассмотреть основные типы данных, переменные и операторы MySql
Типы данных
Выбор правильного типа столбца – одно из важных условий построения качественной и быстрой базы данных. Тип данных имеет следующие характеристики:
любой столбец в какой угодно таблице может содержать данные какого-нибудь, но только одного типа данных;
тип данных должен относиться к разрешенным для данной СУБД;
тип данных налагает ограничения на значения, которые разрешается хранить в любом столбце, и определяет те операции, которые с этими значениями можно выполнять;
тип данных определяет порядок сортировки этого столбца.
В MySql используется два фундаментальных типа данных: строки и числа.
Строковые типы данных.
Длина строки может быть как фиксированной, так и переменной. В строках учитывается регистр. В командах SQL любая строка или строковый литерал должны заключаться в кавычки.
Таблица 2.1 – Строковые типы данных
Тип  | 
		Размер  | 
		Описание  | 
	
CHAR[длина]  | 
		Число байтов равное длина  | 
		Поле фиксированной длины от 0 до 255 символов  | 
	
VARCHAR[длина]  | 
		длина + 1 байт  | 
		Поле переменной длины о 0 до 255 символов  | 
	
TINYTEXT  | 
		длина + 1 байт  | 
		Строка длиной не более 255 символов  | 
	
TEXT  | 
		длина + 2 байта  | 
		Строка длиной не более 65535 символов  | 
	
MEDIUMTEXT  | 
		длина + 3 байта  | 
		Строка длиной не более 16777215 символов  | 
	
LONGTEXT  | 
		длина + 4 байта  | 
		Строка длиной не более 4294967295 символов  | 
	
В MySql существует также тип BLOB, которые технически почти не отличается от типа TEXT, единственная разница в том, что BLOB подразумевает различие прописных и строчных букв, а TEXT – нет.
Числовые типы данных.
Числовые литералы записываются в виде цепочек цифр без каких-либо кавычек. Числу может предшествовать знак минус, а если это дробное число, то оно будет содержать десятичную точку.
Максимальная разрядность целых чисел – 64 бита, т.е. числа, больше чем 264, будут представляться неправильно.
MySQL понимает научную запись дробных чисел. Это означает, что после мантиссы числа можно указывать символ экспоненты и показатель степени. Например, запись 1.2у+3 соответствует числу 1200. Чтобы не возникало неоднозначностей, показателю степени должен предшествовать знак «плюс» или «минус».
Точное числовое значение имеет произвольные, но фиксированные точность и масштаб, где:
- точностью называется общее количество цифр в десятичной записи числа без учета десятичной точки;
- масштабом называется число цифр справа от десятичной точки.
Числовые колонки могут иметь атрибут UNSIGNED (без знака), а любые числовые колонки – атрибут ZEROFILL (с заполнением нулями).
Таблица 2.2 – Числовые типы данных
Тип  | 
		Размер  | 
		Описание  | 
	
TINYINT[длина]  | 
		1 байт  | 
		Целое число в диапазоне от -128 до 127 или от 0 до 255  | 
	
SMALLINT[длина]  | 
		2 байта  | 
		Целое число в диапазоне от -32768 до 32767 или от 0 до 65535  | 
	
MEDIUMINT[длина]  | 
		3 байта  | 
		Целое число в диапазоне от -8386608 до 8388607 или от 0 до 16777215  | 
	
INT[длина]  | 
		4 байта  | 
		Целое число в диапазоне от -2147483648 до 2147483647 или от 0 до 4294967295  | 
	
BIGINT[длина]  | 
		8 байт  | 
		Целое число в диапазоне от -9223372036854775808 до 9223372036854775807 или от 0 до 18446744073709551615  | 
	
FLOAT[точность, масштаб]  | 
		4 байта  | 
		Небольшое число с плавающей точкой  | 
	
DOUBLE[точность, масштаб]  | 
		8 байт  | 
		Большое число с плавающей точкой  | 
	
DECIMAL[точность, масштаб]  | 
		длина + 1 байт  | 
		Число типа DOUBLE, хранящееся в виде с фиксированной десятичной точкой  | 
	
Прочие типы данных.
Если в колонке необходимо хранить нечисловые и нетекстовые данные, то следует выбрать один из дополнительных типов данных предоставляемых СУБД.
Таблица 2.3 – Прочие типы данных
Тип  | 
		Размер  | 
		Описание  | 
	
DATE  | 
		3 байта  | 
		Дата в формате ГГГГ-ММ-ДД  | 
	
DATETIME  | 
		8 байт  | 
		Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС (год, месяц, день, часы, минуты, секунды)  | 
	
TIMESTAMP  | 
		4 байта  | 
		Временной штамп в формате ГГГГММДДЧЧММСС; допустимый диапазон – до 2037 года  | 
	
TIME  | 
		3 байта  | 
		Время в формате ЧЧ:ММ:СС  | 
	
YEAR  | 
		1 байт  | 
		Год в формате ГГ или ГГГГ  | 
	
ENUM  | 
		1 байт или 2 байта  | 
		Перечисление, означающее, что в колонке может находиться одно из нескольких допустимых значений  | 
	
Продолжение таблицы 2.3
Тип  | 
		Размер  | 
		Описание  | 
	
SET  | 
		1,2,3,4 или 8 байт  | 
		В колонке может храниться одно или несколько из перечисляемых допустимых значений.  | 
	
TINYBLOB  | 
		длина + 1 байт  | 
		Двоичные данные длиной до 255 символов  | 
	
BLOB  | 
		длина + 2 байта  | 
		Двоичные данные длиной до 65535 символов  | 
	
Битовые типы данных служат для того, чтобы представлять двоичные числа. Любая строка битов отличается следующими характеристиками:
- является упорядоченной последовательностью, состоящей из какого-то числа, возможно из 0, битов;
- каждый бит имеет значение 0 или 1;
- её обычно применяют для хранения так называемых больших бинарных объектов, в частности файлов приложений, оцифрованных звуков и изображений;
- в командах любую строку битов следует заключать в одинарные кавычки.
