1.62M
Category: databasedatabase

Простейший SQL. Создание простейших таблиц. Числовые поля. Строковые поля

1.

Простейший SQL
Создание простейших таблиц
Числовые поля
Строковые поля
Дата и время
NULL
BOOL,ENUM,SET
Значения по умолчанию

2.

Создание простейших таблиц

3.

Очень важно выбрать тип данных еще на этапе
проектирования!
Разделение типов на INT и TINYINT позволяет экономить память, так как на каждую запись в БД
выделяется, соответственно,
строковый тип; в скобках указываем максимально возможное количество
символов, которое можно вводить в данное поле

4.

Создаем таблицу

5.

Задача
• Создайте таблицу users с полем id типа INT и двумя
текстовыми полями, которые будут хранить имя (first_name)
и фамилию (last_name). Длина имени и фамилии не
превышает 50 символов.
• Добавьте в таблицу трех пользователей: Дмитрия Иванова,
Анатолия Белого и Дениса Давыдова.

6.

Важно!
• Несколько SQL запросов, которые следуют
друг за другом, нужно разделять точкой с
запятой.
• При добавлении нескольких строк в таблицу
VALUES надо указать только один раз
перед первой порцией данных.

7.

Числовые поля

8.

Целочисленные типы

9.

Диапазоны целых чисел

10.

UNSIGNED
Ключевое слово UNSIGNED используется для
того, чтобы сдвинуть диапазон вправо:

11.

Вещественные числа

12.

Этот тип служит для хранения чисел с
фиксированной точностью.
Широко применяется для хранения финансовых
данных (стоимости товаров, сумм платежей и т.д.)
10 показывает, сколько цифр может быть в числе,
2 – сколько знаков после запятой.

13.

Строковые поля

14.

• Для того, чтобы текст в строковом поле
записать в кавычках, используется «\» обратный слеш.
• Для переноса строки – «\n».

15.

В полях типа “BLOB” можно хранить большие
двоичные
объекты
(изображения,
звуки,
электронные документы).
Но! В БД не рекомендуется хранить подобные
объекты. В текстовое поле помещают ссылку на
объект, который храниться на диске.

16.

VARCHAR & TEXT
Для хранения текста можно использовать и VARCHAR(65000), и TEXT, который может содержать строки
до 65535 знаков.
Для больших текстов (более 255-500 символов) принято использовать именно TEXT, а не VARCHAR.
VARCHAR обычно используют для небольших текстов (фамилии, имена, названия), заметок (мини
комментарии) или каких-то параметров (статус, цвет и т/д). Это связано с особенностью хранения данных.
VARCHAR-данные хранятся прямо в таблице и доступ к ним быстрее. Если нужно получить список
товаров с их кратким описанием (например на странице сайта со списком товаров), то логично, чтобы
доступ был быстрым.
Данные типа TEXT хранятся в отдельных файлах. Доступ к ним медленней, поэтому их используют для
информации, которая нужна реже. Например, пользователи 90% ищут товары и 10% смотрят их подробно
(на отдельной странице). Как раз при подробном рассмотрении выводятся большие тексты и их можно
хранить в TEXT.
TEXT поля всегда имеют строгие размеры в отличии от VARCHAR.

17.

Дата и время

18.

DATETIME
в таком формате время будет указано с
точностью до микросекунд.
DATETIME(3)
в таком формате время будет указано с
точностью до миллисекунд.

19.

Дату и время можно разбивать на
два отдельных поля:

20.

NULL

21.

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

22.

BOOL, ENUM, SET

23.

BOOL
• Предназначен для хранения логического значения и
может принимать два состояния: TRUE и FALSE.
• Фактически относится к целочисленному типу и в
конечном счете принимает значения 1 или 0.
• BOOL - это синоним для TINYINT.
• При занесении в запрос FALSE база сохраняет 0, а при
занесении TRUE – 1.
• Аналогичные запросы:

24.

ENUM
• Может хранить только заранее предопределенные
значения:
• Относится к строковому типу.
• Для хранения в памяти выделяется 1байт.
Для сравнения: при использовании типа VARCHAR
на каждую запись выделяется по несколько байтов.

25.

26.

SET
• Строковый тип с заранее предопределенными значениями.
• В отличие от ENUM может принимать сразу несколько
значений.

27.

Значения по умолчанию

28.

• Определяется с помощью атрибута DEFAULT
на этапе создания таблицы.
• Если мы не передаем для поля никаких
данных, то вместо NULL вставляется
«значение по умолчанию»:

29.

30.

Значения по умолчанию позволяют
заполнять таблицу информацией, даже если
не все поля определены.
- устанавливает
текущее время
English     Русский Rules