- •Практическое занятие №3 Работа с сервером MySql при помощи терминального клиента mysql.Exe Теоретические сведения Введение
- •Подсоединение к серверу и отсоединение от него
- •Создание пользователей MySqLи назначение прав доступа
- •Использование mysqlв пакетном режиме
- •Выполнение запросов
- •Создание и выбор базы данных
- •Работа с таблицами Типы данных столбцов
- •Просмотр существующих таблиц
- •Создание таблицы
- •Просмотр структуры таблицы
- •Модификация структуры таблицы
- •Переименование таблицы
- •Добавление данных в таблицу
- •Обновление (модификация) данных в таблице
- •Удаление строк в таблице
- •Удаление таблицы
- •Определение ключей в бд Определение первичных ключей
- •Определение внешних ключей
- •Задание
- •Содержание отчета
Создание и выбор базы данных
После подключения к серверу узнать, какие базы существуют в настоящее время на сервере, можно при помощи команды:
show databases;
Для того, чтобы начать использовать существующую базу данных необходимо выполнить команду:
USE<database_name>
В команде USE, как и QUIT, точка с запятой не нужна (хотя ее можно завершать точкой с запятой). Кроме того, данная команда должна задаваться одной строкой.
Для того чтобы создать новую базу данных необходимо выполнить команду:
CREATEDATABASE<database_name>;
Однако для того, чтобы пользователь мог создать базу, администратор (преподаватель) должен заранее дать ему соответствующие привилегии. Таким образом, возможна ситуация когда самой базы еще нет, но привилегии на базу с определенным именем для определенного пользователя уже есть (см. п.1.3).
Создавать базу нужно только однажды, но выбирать ее приходится в каждом сеансе работы с mysql. Делать это можно с помощью команды USE, представленной выше. А можно выбирать базу и из командной строки при запускеmysql. Для этого достаточно лишь ввести ее имя после параметров соединения, которые нужно вводить в любом случае:
mysql -h host -u user –p database_name
Работа с таблицами Типы данных столбцов
Тип |
Описание |
Диапазон значений |
Примечание |
Числовые типы | |||
INTEGER[(M)] [UNSIGNED] |
Целое число |
от -2147483648 до 2147483647 (без знака от 0 до 4294967295) |
Синоним - тип INT; М – количество выводимых знаков |
BIGINT(M) |
Большое целое число |
от -9223372036854775808 до 9223372036854775807 (без знака от 0 до 18446744073709551615) |
М – количество выводимых знаков |
FLOAT[(M,D)] [UNSIGNED] |
число с плавающей точкой обычной точности |
от -3,402823466E+38 до -1,175494351E-38, 0, и от 1,175494351E-38 до 3,402823466E+38 |
М – количество выводимых знаков; D - количество разрядов, следующих за десятичной точкой |
DOUBLE[(M,D)] [UNSIGNED] |
Число с плавающей точкой удвоенной точности |
от -1,7976931348623157E+308 до -2,2250738585072014E-308, 0, и от 2,2250738585072014E-308 до 1,7976931348623157E+308 |
М – количество выводимых знаков; D - количество разрядов, следующих за десятичной точкой |
Типы для хранения даты и времени | |||
DATE |
Дата |
от '1000-01-01' до '9999-12-31' |
MySQL извлекает и выводит величины DATE в формате 'YYYY-MM-DD' |
TIME |
Время |
от '-838:59:59' до '838:59:59' |
MySQL выводит значения TIME в формате 'HH:MM:SS' |
DATETIME |
Комбинация даты и времени |
от '1000-01-01 00:00:00' до '9999-12-31 23:59:59' |
MySQL извлекает и выводит величины DATETIME в формате 'YYYY-MM-DD HH:MM:SS' |
TIMESTAMP[(M)] |
Временная метка |
от '1970-01-01 00:00:00' до некоторого значения времени в 2037 году обеспечивает тип представления данных, который можно использовать для автоматической записи текущих даты и времени при выполнении операций INSERT или UPDATE |
MySQL выводит значения TIMESTAMP в форматах YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD или YYMMDD в зависимости от значений M: 14 (или отсутствующее), 12, 8, или 6 |
Символьные типы данных | |||
CHAR(M) [BINARY] |
Строка фиксированной длины |
от 0 до 255 символов При хранении всегда дополняется пробелами в конце строки до заданного размера. Концевые пробелы удаляются при выводе значения |
Если не задан атрибут чувствительности к регистру BINARY, то величины CHAR сортируются и сравниваются как независимые от регистра в соответствии с алфавитом |
VARCHAR(M) [BINARY] |
Строка переменной длины |
от 0 до 255 |
Если не задан атрибут чувствительности к регистру BINARY, то величины VARCHAR сортируются и сравниваются как независимые от регистр |
BLOB, TEXT
|
двоичный объект большого размера |
от 0 до 65535 |
Различие между типами BLOB и TEXT состоит в том, что сортировка и сравнение данных выполняются с учетом регистра для величин BLOB и без учета регистра для величин TEXT |
MEDIUMBLOB, MEDIUMTEXT
|
двоичный объект большого размера |
от 0 до 16777215 |
|
LONGBLOB, LONGTEXT
|
двоичный объект большого размера |
от 0 до 4294967295 |
|
Множественные типы данных | |||
ENUM |
перечисление |
Перечисление может иметь максимум 65535 элементов |
Объект ENUM может иметь только одно значение, выбранное из заданного списка величин |
SET |
Набор |
Список SET может содержать максимум 64 элемента |
Объект SET может принимать ноль или более значений, каждое из которых должно быть выбрано из списка допустимых значений, определенных при создании таблицы. Элементы множества SET разделяются запятыми |