- •Лабораторные работы 1,2.
- •1. 1. Основные характеристики субд MySql.
- •1.2. Установка MySql
- •Проверка исходных требований
- •Выбор версии
- •1.4.Основные команды создания баз данных, основы работы с таблицами
- •Создание базы данных в Windows
- •Удаление баз данных.
- •1. 5. Типы данных столбцов
- •Требования к памяти для символьных типов приведены в таблице.
- •2.1. Запись данных в таблицы
- •В системе Windows
- •2.2. Запрос данных из таблицы MySql select
- •Выборка данных с помощью условий
- •Операторы больше и меньше
- •Поиск текстовых данных по шаблону с помощью предложения where и оператора like.
- •2.3. Логические операторы
- •Операторы in и between
- •2.4 Команды обработки данных: поиск максимального, минимального и среднего значений, нахождение суммы и количества записей Поиск минимального и максимального значений
- •Именование столбцов as
- •Подсчет числа записей
- •Предложения group by и having
- •Удаление записей из таблицы
- •Упорядочивание данных order by
- •Ограничение количества извлекаемых данных
- •Ключевое слово distinct
- •Вложенные запросы
- •Изменение записей update
- •3.1. Математические функции MySql
- •3.2.Работа с датой и временем
- •3.3. Работа со строками
- •Insert(строка, позиция, длина, новая_строка)
- •Instr(строка, подстрока)
- •Функции сравнения строк
- •3.4. Дополнительные функции MySql
- •Битовые функции
- •Прочие функции
- •3.3.4.9 Использование нескольких таблиц
- •3.3.4.6 Работа с значениями null
- •3.3.4.9 Использование нескольких таблиц
- •Делаем дамп (бэкап) базы данных, используя утилиту mysqldump
Требования к памяти для символьных типов приведены в таблице.
Требования к памяти для символьных типов |
|
Тип столбца |
Требуемая память |
CHAR(M) |
M байт, 1 <= M <= 255 |
VARCHAR(M) |
L+1 байт, где L <= M и 1 <= M <= 255 |
TINYBLOB, TINYTEXT |
L+1 байт, где L < 2^8 |
BLOB, TEXT |
L+2 байт, где L < 2^16 |
MEDIUMBLOB, MEDIUMTEXT |
L+3 байт, где L < 2^24 |
LONGBLOB, LONGTEXT |
L+4 байт, где L < 2^32 |
ENUM('value1','value2',...) |
1 или 2 байт, в зависимости от количества перечисляемых величин (максимум 65535) |
SET('value1','value2',...) |
1, 2, 3, 4 или 8 байт, в зависимости от количества элементов множества (максимум 64) |
2.1. Запись данных в таблицы
Оператор INSERT заполняет таблицу данными.
Синтаксис INSERT.
INSERT into table_name (column1, column2, ...)
values (value1, value2...);
где table_name является именем таблицы, в которую надо внести данные; column1, column2 и т.д. являются именами столбцов, а value1, value2 и т.д. являются значениями для соответствующих столбцов.
Пример 1:
Внести первую запись в таблицу rabotniki_data.
INSERT INTO rabotniki_data
(1_name, 2_name, dolgnost, vozrast, stag, zarplata, nadbavki, email)
values
("Иван", "Иванов", "директор", 30, 5, 100000,
30000, "ivan@mail.ru");
Как и другие операторы MySQL, эту команду можно вводить на одной строке или в нескольких строках.
Несколько важных моментов:
Значениями для столбцов 1_name, 2_name, dolgnost и email являются текстовые строки, и они записываются в кавычках.
Значениями для vozrast, stag, zarplata, nadbavki являются числа (целые), и они не имеют кавычек.
Можно видеть, что данные заданы для всех столбцов кроме emp_id. Значение для этого столбца задает система MySQL, которая находит в столбце наибольшее значение, увеличивает его на единицу, и вставляет новое значение.
Если приведенная выше команда правильно введена в приглашении клиента mysql, то программа выведет сообщение об успешном выполнении.
Создание дополнительных записей требует использования отдельных операторов INSERT.
Чтобы облегчить эту работу можно поместить все операторы INSERT в файл. Это должен быть обычный текстовый файл с оператором INSERT в каждой строке.
В системе Windows
1) Поместите файл в каталог c:\mysql\bin.
2) Проверьте, что MySQL работает.
3) Выполните команду
mysql employees <employee.dat
Если файл находится в другом каталоге – укажите полный путь к файлу.
Ввод данных из файла
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY '\t']
[[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]
]
[LINES TERMINATED BY '\n']
[IGNORE number LINES]
[(col_name,...)]
Команда LOAD DATA INFILE читает строки из текстового файла и вставляет их в таблицу с очень высокой скоростью. Если задано ключевое слово LOCAL, то файл читается с клиентского хоста. Если же LOCAL не указывается, то файл должен находиться на сервере.
Если текстовые файлы, которые нужно прочитать, находятся на сервере, то из соображений безопасности эти файлы должны либо размещаться в директории базы данных, либо быть доступными для чтения всем пользователям. Кроме того, для применения команды LOAD DATA INFILE к серверным файлам необходимо обладать привилегиями FILE для серверного хоста.
