Создание таблицы в SQL
Для создания таблиц используется оператор CREATE TABLE.
Для примера используем ранее созданные таблицы.
Итак, в результате в базе данных Institute мы собираемся получить следующие таблицы:
Используем следующие правила:
- имя таблицы указывается после ключевого слова
CREATE TABLE
(если имя состоит из нескольких слов, то его следует заключить в одинарные кавычки); - далее в круглых скобках следуют имена столбцов таблицы (полей), после которых указывается тип данных, которому будет принадлежать поле;
- не обязательно: затем указывается может ли поле содержать пустые значения (
NULL
— может быть пустым илиNOT NULL
— обязательно для заполнения); - одно из полей назначается первичным ключом (
Primary key
); - поля отделяются запятыми.
Первая таблица называется 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); |
lessons
и courses
.Обновление таблиц: удаление и добавление полей
Обновление таблиц выполняется при помощи ключевых слов sql ALTER TABLE
. Обновляя таблицу можно:
- удалять поля
- добавлять поля
Рассмотрим пример:
- Добавление поля в SQL таблицу, ADD
- Удаление поля из SQL таблицы, DROP COLUMN
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; |
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; |