Тема "Язык SQL", Урок 4 "Типы данных в SQL. Создание новых таблиц. Проектирование таблиц. Оператор INSERT"

Теория (прочитать).

Что такое типы данных

Тип данных -- это инструкция компьютеру, как рассматривать какой-то набор информации. В каком-то смысле тип данных очень похож на расширение файла (три или четыре символа, находящиеся после точки в имени файла). Если хотите примера, то создайте в Блокноте файл "proba.txt" с таким содержимым:

2;3
1;=A1+B1

Теперь переименуйте файл в "proba.csv" и откройте его с помощью Excel. Вы увидите, что открылось не совсем то, что вы писали. Почему не совсем то? Потому, что поменялся тип данных: были текстовые, а стали табличные.

Типы данных в SQL

Мы будем рассматривать такие типы данных в SQL:

Оператор CREATE TABLE

Общий вид оператора CREATE TABLE такой:

CREATE TABLE `название_таблицы` [по желанию можно дописать IF NOT EXISTS]
(
`название первой колонки` [ТИП ДАННЫХ ПЕРВОЙ КОЛОНКИ],
`название второй колонки` [ТИП ДАННЫХ ВТОРОЙ КОЛОНКИ],
...
`название последней колонки` [ТИП ДАННЫХ ПОСЛЕДНЕЙ КОЛОНКИ],
[ДОПОЛНИТЕЛЬНЫЕ_ПАРАМЕТРЫ]
)

Например:

Теперь разберём указанный код:

# Если в строке есть символ "решетка", то текст от этого символа до конца строки не учитывается компилятором. Такой текст используется для понимания людьми и называется "комментарий".
CREATE TABLE `shkolniki` # Создаю таблицу с названием "школьники". Фразу "IF NOT EXISTS" не пишу, поэтому если таблица с названием школьники уже была, то я получу ошибку.
(
`id` INT,# Первое поле `id`, его тип "целое число"
`name` VARCHAR(50), # Второе поле `name`, его тип "строка из 50-ти символов".
`date_of_birth` DATE, # Третье поле `дата рождения`, его тип "DATE"
`characteristics` TEXT, # Четвёртое поле `характеристика`, его тип "TEXT". Ведь учитель может написать много буков, и не надо ограничивать его творческую мысль.
PRIMARY KEY(`id`) # Дополнительный параметр. Он говорит о том, что поле `id` будет уникальным, и по нему можно будет найти любую запись.
)
Во всех таблицах, которые создаёте, предусматривайте первое поле `id`, которое делайте PRIMARY KEY. Это нужно для однозначности выбора строки таблицы.

Оператор INSERT INTO

Этот оператор служит для того, чтобы вставлять в таблицу записи.

Общий вид оператора INSERT INTO такой:

INSERT INTO `название_таблицы` VALUES('значение_для_первой_колонки','значение_для_второй_колонки', ... ,'значение_для_последней_колонки');

Например:

Практическое задание:

  1. Откройте сайт базы данных SQL с прошлого урока, залогиньтесь, выберите базу "proba", перейдите на вкладку "SQL";
  2. Создайте таблицу "школьники", о которой говорилось выше.
  3. Если вы создали неправильную таблицу, и теперь хотите её удалить и создать правильную, то воспользуйтесь запросом
    DROP TABLE `название_таблицы`
  4. Выполните запрос INSERT INTO в таблицу "школьники", о котором говорилось выше (про Васю);
  5. Добавьте в "школьники" ещё двух человек
  6. Создайте таблицу "жильцы дома", в которой должно быть не менее 5-ти полей. Эта таблица должна быть предназначена для бухгалтера, который работает с оплатой коммунальных услуг. Объясните выбор полей. Заполните двух жильцов в таблице.
  7. Создайте таблицу `urok4_proba`, в которой одно поле должно быть типа INT, второе -- типа VARCHAR(10), а третье -- типа DATETIME. Внесите туда несколько записей. В первой записи во все три поля должно записаться значение "0", во второй - "5", в третьей "25", в четвёртой "2015-03-02", в пятой "Привет". После этого выведите всю таблицу с помощью запроса "SELECT" и объясните разницу между тем, что вводили, и тем, что получилось. Выполните сортировку (ASC) по каждому из полей (отдельными запросами) и проанализируйте: какие неожиданности в результате вы увидели?

Домашнее задание:

  1. Создайте текстовый файлик.
  2. Не подглядывая в теорию, опишите (коротко), какие операторы вы сегодня выучили и что они делают.
  3. Напишите в файлике запрос для создания таблицы товаров в интернет-магазине (не менее 5-ти полей). Для каждого поля напишите комментарий.
  4. В таблицу, которая создана в предыдущем задании, добавьте 5 товаров.
  5. Проверьте, что будет, если в VARCHAR(5) вписать строку из 6-ти символов. Опишите, как вы провели эксперимент, и какие сделали выводы.
  6. Прочитайте разделы "Приложение В", "Приложение С: Типы данных", "Глава 17", "Глава 15 (до слов 'удаление строк из таблиц')" из книги Макса Грубера "Понимание SQL".