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

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

Жанры

Основы программирования в 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
рейтинг книги
Всем стоять на Занзибаре (сборник)

Воин

Бубела Олег Николаевич
2. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.25
рейтинг книги
Воин

Вторая жизнь майора. Цикл

Сухинин Владимир Александрович
Вторая жизнь майора
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Вторая жизнь майора. Цикл

Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию

Айзексон Уолтер
Документальная литература:
биографии и мемуары
публицистика
5.00
рейтинг книги
Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию

Вечный. Книга IV

Рокотов Алексей
4. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
6.25
рейтинг книги
Вечный. Книга IV

Загадки истории. Факты. Открытия. Люди

Ермановская Анна Эдуардовна
Научно-образовательная:
история
7.00
рейтинг книги
Загадки истории. Факты. Открытия. Люди

Чудесный переплет. Часть 1

Малиновская Оксана Васильевна
Фантастика:
юмористическая фантастика
5.00
рейтинг книги
Чудесный переплет. Часть 1

Эмиссар

Листратов Валерий
8. Ушедший Род
Фантастика:
боевая фантастика
аниме
попаданцы
7.50
рейтинг книги
Эмиссар

Те, кто внизу. Донья Барбара. Сеньор Президент

Астуриас Мигель Анхель
133. Библиотека всемирной литературы
Проза:
классическая проза
5.50
рейтинг книги
Те, кто внизу. Донья Барбара. Сеньор Президент

Моя жена меня слишком балует

Фэньцзя Юэбань Яо
Веб-новеллы и ранобэ
Фантастика:
ранобэ
5.00
рейтинг книги
Моя жена меня слишком балует

Географ глобус пропил. Золото бунта

Иванов Алексей Викторович
Проза:
современная проза
7.86
рейтинг книги
Географ глобус пропил. Золото бунта

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

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

Избранные фэнтезийные циклы романов. Компиляция. Книги 1-20

Фирсанова Юлия Алексеевна
Избранные фэнтезийные циклы романов
Фантастика:
фэнтези
юмористическая фантастика
сказочная фантастика
5.00
рейтинг книги
Избранные фэнтезийные циклы романов. Компиляция. Книги 1-20

Шайтан Иван 5

Тен Эдуард
5. Шайтан Иван
Фантастика:
попаданцы
альтернативная история
историческое фэнтези
5.50
рейтинг книги
Шайтан Иван 5