SQL урок 0 . Язык sql создание таблиц

На уроке будет рассмотрена тема «Язык sql создание таблиц». Будут разобраны конкретные примеры создания таблиц

Далее к части второй: Задания по созданию баз данных

Создание таблицы в SQL

Для создания таблиц используется оператор CREATE TABLE.

Для примера используем ранее созданные таблицы.
Итак, в результате в базе данных Institute мы собираемся получить следующие таблицы:
Язык sql создание таблиц

Используем следующие правила:

  1. имя таблицы указывается после ключевого слова CREATE TABLE (если имя состоит из нескольких слов, то его следует заключить в одинарные кавычки);
  2. далее в круглых скобках следуют имена столбцов таблицы (полей), после которых указывается тип данных, которому будет принадлежать поле;
  3. не обязательно: затем указывается может ли поле содержать пустые значения (NULL — может быть пустым или NOT NULL — обязательно для заполнения);
  4. одно из полей назначается первичным ключом (Primary key);
  5. поля отделяются запятыми.

Первая таблица называется teachers, соответственно первая строка кода:

CREATE TABLE `teachers` ( ... )

Название таблицы может быть написано и без кавычек, так как состоит из одного слова.

Далее создаем поле id, тип данных которого — целые числа (ограничим их одиннадцатью INT(11)), поле обязательно для заполнения, поэтому добавим NOT NULL:

`id` INT(11) NOT NULL,

Поле name будет строковым, ограничим его в 25 символов (VARCHAR(25)), поле тоже обязательно для заполнения, поэтому добавим NOT NULL:

`name` VARCHAR(25) NOT NULL,

Поле zarplata, тип данных которого — целые числа (ограничим их одиннадцатью INT(11)). То же самое касается поля premia:

`zarplata` INT(11),
`premia` INT(11),

После перечисления всех полей указываем ключевое поле:

PRIMARY KEY (`id`)
Важно: желательно для каждой таблицы базы данных выбирать ключевое поле. Это поле уникально идентифицирует каждую запись таблицы, т.е. значения этого поля для каждой записи (строки) должны быть уникальными и не могут повториться для нескольких строк. Обычно ключевое поле используется для организации связей между таблицами

Получаем код создания таблицы teachers:

CREATE TABLE `teachers` (
  `id` INT(11) NOT NULL,
  `name` VARCHAR(25) NOT NULL,
  `zarplata` INT(11),
  `premia` INT(11),
  PRIMARY KEY (`id`)
);

Проверить результат можно в сервисе онлайн визуализации схемы базы данных https://dbdesigner.net/, указания по работе с сервисом можно прочитать здесь.

Для заполнения таблицы данными используется оператор INSERT языка SQL.

INSERT INTO teachers 
   VALUES (1, 'Иванов',1,10000,500), 
   (2, 'Петров',1,15000,1000) ,
   (3, 'Сидоров',1,14000,800), (4,'Боброва',1,11000,800);
SQL table 1. Аналогичным образом создайте таблицы базы данных lessons и courses.

Обновление таблиц: удаление и добавление полей

Обновление таблиц выполняется при помощи ключевых слов sql ALTER TABLE. Обновляя таблицу можно:

  • удалять поля
  • добавлять поля

Рассмотрим пример:

  1. Добавление поля в SQL таблицу, ADD
  2. Пример: В таблицу teachers добавить поле phoneдля номеров телефонов
    ALTER TABLE teachers ADD phone CHAR (20);

    Протестируем в сервисе http://sqlfiddle.com/ (инструкция по использованию сервиса здесь).
    Добавим код в левое окно:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    CREATE TABLE `teachers` (
      `id` INT(11) NOT NULL,
      `name` VARCHAR(25) NOT NULL,
      `zarplata` INT(11),
      `premia` INT(11),
      PRIMARY KEY (`id`)
    );
     
    ALTER TABLE teachers ADD phone CHAR (20);
     
    INSERT INTO teachers VALUES (1, 'Иванов',10000,500,222222),    
     (2, 'Петров',15000,1000,245322) ,
     (3, 'Сидоров',14000,800,233222), (4,'Боброва',11000,800,263222);

    а в правое окно:

    SELECT * FROM teachers;

    В итоге получаем:
     sql alter table

  3. Удаление поля из SQL таблицы, DROP COLUMN
  4. Пример: необходимо удалить поле phone из таблицы teachers
ALTER TABLE teachers DROP COLUMN phone

Протестируем в сервисе http://sqlfiddle.com/

Левое окно:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE `teachers` (
  `id` INT(11) NOT NULL,
  `name` VARCHAR(25) NOT NULL,
  `zarplata` INT(11),
  `premia` INT(11),
  `phone` CHAR(20),
  PRIMARY KEY (`id`)
);
 
ALTER TABLE teachers DROP COLUMN phone;
 
INSERT INTO teachers VALUES (1, 'Иванов',10000,500),    
 (2, 'Петров',15000,1000),
 (3, 'Сидоров',14000,800), (4,'Боброва',11000,800);

Правое окно:

SELECT * FROM teachers;
Далее к части второй: Задания по созданию баз данных