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

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

Жанры

Основы программирования в 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 или около того таблиц.

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

Снега

Чепурин Юлий Петрович
Поэзия:
драматургия
5.00
рейтинг книги
Снега

Прапорщик. Назад в СССР. Книга 6

Гаусс Максим
6. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прапорщик. Назад в СССР. Книга 6

Золотой ворон

Сакавич Нора
5. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Золотой ворон

Убивать чтобы жить 6

Бор Жорж
6. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 6

Эволюционер из трущоб. Том 2

Панарин Антон
2. Эволюционер из трущоб
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Эволюционер из трущоб. Том 2

Белые погоны

Лисина Александра
3. Гибрид
Фантастика:
фэнтези
попаданцы
технофэнтези
аниме
5.00
рейтинг книги
Белые погоны

Русские дети (сборник)

Фрай Макс
Проза:
современная проза
5.60
рейтинг книги
Русские дети (сборник)

Геном хищника. Книга девятая

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

Хозяин Теней 3

Петров Максим Николаевич
3. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Хозяин Теней 3

Ожерелье Странника

Хаггард Генри Райдер
Приключения:
исторические приключения
7.50
рейтинг книги
Ожерелье Странника

Бастард Императора. Том 15

Орлов Андрей Юрьевич
15. Бастард Императора
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Бастард Императора. Том 15

Локки 6. Потомок бога

Решетов Евгений Валерьевич
6. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Локки 6. Потомок бога

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

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

Двойник короля 17

Скабер Артемий
17. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 17