Similar presentations:
Простейший 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.
NULL21.
NULL – это специальный тип данных, который означает отсутствиеинформации и при создании таблицы для любого поля можно указать,
может ли оно принимать значение NULLили нет.
22.
BOOL, ENUM, SET23.
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.
Значения по умолчанию позволяютзаполнять таблицу информацией, даже если
не все поля определены.
- устанавливает
текущее время