Редактирование структуры таблицы онлайн урок.


Для того, чтобы управлять структурой таблицы необходимо использовать предложение ALTER TABLE, которое дает возможность добавлять, удалять или редактировать столбцы таблицы.

Для создания новых столбцов в предложении ALTER TABLE используется оператор ADD после которого необходимо указать название столбца, его тип и дополнительные атрибуты, например значение поля по умолчанию.

ALTER TABLE student ADD test_row VARCHAR (25) DEFAULT 'def_value';
+----+---------+------+-----------+-----------+
| id | name | age | phone | test_row |
+----+---------+------+-----------+-----------+
| 1 | Mike | 25 | 345-65-78 | def_value |
| 2 | John | 27 | 123-65-12 | def_value |
| 4 | Andy | 20 | 244-34-12 | def_value |
| 5 | Debra | 21 | 987-65-43 | def_value |
| 6 | Andy | 24 | 323-43-98 | def_value |
| 7 | Mike | 23 | 313-54-21 | def_value |
| 8 | Jeff | 25 | 213-56-23 | def_value |
| 9 | Stanley | 23 | 111-23-43 | def_value |
+----+---------+------+-----------+-----------+

Результатом будет новая колонка в таблице заполненная значениями по умолчанию. Добавим еще одну тестовую колонку:

ALTER TABLE student ADD test_row VARCHAR (25) DEFAULT 'def_value';

Результатом будет та же таблица но с новой колонкой:

+----+---------+------+-----------+-----------+------------+
| id | name | age | phone | test_row | test_row_2 |
+----+---------+------+-----------+-----------+------------+
| 1 | Mike | 25 | 345-65-78 | def_value | NULL |
| 2 | John | 27 | 123-65-12 | def_value | NULL |
| 4 | Andy | 20 | 244-34-12 | def_value | NULL |
| 5 | Debra | 21 | 987-65-43 | def_value | NULL |
| 6 | Andy | 24 | 323-43-98 | def_value | NULL |
| 7 | Mike | 23 | 313-54-21 | def_value | NULL |
| 8 | Jeff | 25 | 213-56-23 | def_value | NULL |
| 9 | Stanley | 23 | 111-23-43 | def_value | NULL |
+----+---------+------+-----------+-----------+------------+

Заметим, что значения по умолчанию равны NULL, поскольку в запросе не был указан атрибут NOT NULL.

Для изменения названия колонки и типа данных используется оператор CHANGE COLUMN, после которого необходимо указать поле для изменения, новое название поля и новый тип данных.

ALTER TABLE student CHANGE COLUMN test_row tr TEXT;

Тут мы изменили название поля test_row на tr и задали для этого поля тип TEXT.

Для удаления колонки используется оператор DROP COLUMN после которого необходимо записать поле для удаления. Запишем два запроса для удаления двух тестовых полей:

ALTER TABLE student DROP COLUMN tr;
ALTER TABLE student DROP COLUMN test_row_2;


+----+---------+------+-----------+
| id | name | age | phone |
+----+---------+------+-----------+
| 1 | Mike | 25 | 345-65-78 |
| 2 | John | 27 | 123-65-12 |
| 4 | Andy | 20 | 244-34-12 |
| 5 | Debra | 21 | 987-65-43 |
| 6 | Andy | 24 | 323-43-98 |
| 7 | Mike | 23 | 313-54-21 |
| 8 | Jeff | 25 | 213-56-23 |
| 9 | Stanley | 23 | 111-23-43 |
+----+---------+------+-----------+


Для изменения структуры таблицы в phpMyAdmin используется пункт меню Структура. Добавить новый столбец (столбцы) можно под списком полей. Напротив каждого поля есть возможность отредактировать нужным образом или удалить поле.



Проверьте свои знания
Таблица country: создать новую колонку continent_id, которая имеет тип TINYINT и значения по умолчанию NULL.