Чтение онлайн

на главную - закладки

Жанры

Основы программирования в Linux
Шрифт:

2 rows in set (0.00 sec) mysql>

Теперь наверняка у пользователя foo есть пароль. Не забудьте вернуться в свою исходную базу данных.

Начиная с версии MySQL 4.1, схема формирования паролей обновлена по сравнению с более ранними версиями. Но для обратной совместимости вы все еще можете задавать пароль, применяя старый алгоритм с функцией

OLD_PASSWORD('password to set')
, если вам это нужно.

Создание базы данных

Следующий ваш шаг — создание базы данных. Предположим, что вам нужна база данных с именем

rick
. Напоминаем о том, что вы уже создали пользователя с тем же именем. Сначала надо предоставить пользователю rick широкий ряд полномочий, чтобы он мог создавать новые базы данных. В среде разработки это особенно полезно, т. к. обеспечивает больше гибкости.

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^3^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, поскольку поведение разных версий СУРБД слегка отличается.

Создание таблицы

Имея действующий сервер базы данных, зная как предоставлять права доступа пользователям и как создавать базу данных, а также ознакомившись с основными типами данных, можно переходить к созданию таблиц.

Таблица базы данных — это просто последовательность строк, каждая из которых содержит фиксированный набор столбцов. Она довольно похожа на электронную таблицу за исключением того, что у всех строк должно быть одно и то же число столбцов и одинаковые типы данных и каждая строка каким-то образом должна отличаться от всех остальных строк таблицы.

База данных может, если для этого есть разумные основания, содержать очень много, практически неограниченное количество таблиц. Однако лишь немногим СУРБД требуется более 100 таблиц, а большинству маленьких систем вполне достаточно 25 или около того таблиц.

Поделиться:
Популярные книги

Аристократ из прошлого тысячелетия

Еслер Андрей
3. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Аристократ из прошлого тысячелетия

Искатель 3

Шиленко Сергей
3. Валинор
Фантастика:
попаданцы
рпг
фэнтези
5.00
рейтинг книги
Искатель 3

Я – Легенда

Гарцевич Евгений Александрович
1. Я - Легенда!
Фантастика:
боевая фантастика
попаданцы
рпг
фантастика: прочее
5.00
рейтинг книги
Я – Легенда

Имперец. Том 1 и Том 2

Романов Михаил Яковлевич
1. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 1 и Том 2

Дракон с подарком

Суббота Светлана
3. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
6.62
рейтинг книги
Дракон с подарком

Неудержимый. Книга XIX

Боярский Андрей
19. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XIX

Рассвет русского царства. Книга 2

Грехов Тимофей
2. Новая Русь
Фантастика:
альтернативная история
попаданцы
историческое фэнтези
5.00
рейтинг книги
Рассвет русского царства. Книга 2

Первый среди равных. Книга VI

Бор Жорж
6. Первый среди Равных
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Первый среди равных. Книга VI

Газлайтер. Том 3

Володин Григорий
3. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 3

Кодекс Крови. Книга II

Борзых М.
2. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга II

На границе империй. Том 10. Часть 2

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
5.00
рейтинг книги
На границе империй. Том 10. Часть 2

Герой

Мазин Александр Владимирович
4. Варяг
Фантастика:
альтернативная история
9.10
рейтинг книги
Герой

На обочине 40 плюс. Кляча не для принца

Трофимова Любовь
Проза:
современная проза
5.00
рейтинг книги
На обочине 40 плюс. Кляча не для принца

Язычник

Мазин Александр Владимирович
5. Варяг
Приключения:
исторические приключения
8.91
рейтинг книги
Язычник