mysql> GRANT ALL ON *.* TO rick@localhost IDENTIFIED BY 'secretpassword';
Теперь протестируйте набор прав доступа, зарегистрировавшись как rick, и создайте базу данных:
$ mysql -u rick -р
Enter password:
...
mysql> CREATE DATABASE rick;
Query OK, 1 row affected (0.01 sec).
mysql>
Далее сообщите MySQL о том, что вы хотите переключиться на вашу новую базу данных:
mysql> use rick
Сейчас вы можете ввести в вашу базу данных таблицы и нужные вам данные. Во время последующих регистрации вы сможете задавать базу данных в конце командной строки и избежать применения команды use.
$ mysql -u rick -p rick
Введя после подсказки пароль, вы автоматически, в ходе процесса подключения, переключитесь на использование базы данных rick по умолчанию.
Итак, у вас есть действующий сервер MySQL, безопасная регистрация вашего пользователя и база данных, готовая к применению. Что дальше? Сейчас нужно создать несколько таблиц со столбцами для хранения данных. Но прежде чем вы сможете сделать это, следует узнать о типах данных, поддерживаемых MySQL.
Типы данных MySQL довольно обычны, поэтому мы лишь бегло пробежимся по основным типам, и как всегда более подробную информацию можно найти в руководстве по MySQL на Web-сайте MySQL.
Тип Boolean
Столбец логического типа можно определить с помощью ключевого слова BOOL. Как вы и ожидали, в нем могут храниться значения TRUEи FALSE, а также специальное "неопределенное" значение баз данных NULL.
Символьный тип
В табл. 8.7 перечислены все доступные символьные типы. Первые три — стандартные, оставшиеся три специфичны для MySQL. Мы полагаем, что на практике вы будете придерживаться стандартных типов.
Таблица 8.7
| Определение |
Описание |
CHAR |
Одиночный символ |
CHAR( N ) |
Символьная строка длиной точно N символов, которая будет при необходимости заполняться пробелами. Максимальная длина 255 символов |
VARCHAR( N ) |
Массив переменной длины из N символов. Максимальная длина 255 символов |
TINYTEXT |
Аналогичен VARCHAR( N ) |
MEDIUMTEXT |
Текстовая строка длиной до 65 535 символов |
LONGTEXT |
Текстовая строка длиной до 2³²–1 символов |
Числовой тип
В табл. 8.8 показано, что числовые типы делятся на целочисленные и типы с плавающей точкой.
Таблица 8.8
| Определение |
Тип |
Описание |
TINYINT |
Целочисленный |
8-битный тип данных |
SMALLINT |
Целочисленный |
16-битный тип данных |
| MEDIUMINT |
|
24-битный тип данных |
INT |
Целочисленный |
32-битный тип данных. Это стандартный тип и хороший выбор для данных общего назначения |
BIGINT |
Целочисленный |
64-битный знаковый тип данных |
FLOAT(P) |
С плавающей точкой |
Числа с плавающей точкой с точностью как минимум Pзнаков |
DOUBLE( D, N ) |
С плавающей точкой |
Числа с плавающей точкой и двойной точностью из D цифр и N десятичных знаков |
NUMERIC( P, S ) |
С плавающей точкой |
Действительные числа длиной P разрядов всего с S десятичными разрядами из них. В отличие от DOUBLEэто точно заданное число (exact number), поэтому оно больше подходит для хранения денежных сумм, но обрабатывается менее эффективно |
DECIMAL( Р, S ) |
С плавающей точкой |
Синоним NUMERIC |
Мы полагаем, что в основном вы будете пользоваться типами INT, DOUBLEи NUMERIC, поскольку они ближе всего к стандартным типам SQL. Остальные типы нестандартные и могут отсутствовать в тех системах управления базами данных, куда вы решите переместить данные когда-либо в будущем.
Временной тип
В табл. 8.9 перечислены пять имеющихся временны́х типов.
Таблица 8.9
| Определение |
Описание |
DATE |
Хранит даты с 1 января 1000 г. по 31 декабря 9999 г. |
TIME |
Хранит время с -838:59:59 до 838:59:59 |
TIMESTAMP |
Хранит метку времени, начиная с 1 января 1970 г. и по 2037 г. |
DATETIME |
Хранит даты с 1 января 1000 г. по последнюю секунду 31 декабря 9999 г. |
YEAR |
Хранит номер года. Будьте осторожны с двузначными величинами, поскольку они неоднозначны и автоматически преобразуются в четырехзначные числа. |
Учтите, что следует быть внимательными при сравнении значений типов DATEи DATETIMEв отношении способа обработки значения времени; результаты могут оказаться неожиданными. Подробности ищите в руководстве по MySQL, поскольку поведение разных версий СУРБД слегка отличается.
Читать дальше