Переименование таблиц

После обсуждения методов модификации столбцов и индексов в таблице можно приступить к модификации самих таблиц. Это сделать несложно. Предположим, что нужно переименовать таблицу gruppirovka на prestupnaya_gruppirovka. Используйте следующую инструкцию:

mysql> ALTER TABLE gruppirovka RENAME TO

-> prestupnaya_gruppirovka;

Query OK. 0 rows affected (0.00 sec)

Ключевое слово TO является опциональным.

С помощью инструкций ALTER можно также выполнять следующие операции.

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

Изменять способ организации строк в таблице. Это удобно, если нужен доступ к строкам в определенном порядке и хотим таким же образом извлекать данные.

Управлять и изменять ограничения. Например, можно добавлять и удалять внешние ключи.

Начиная с версии MySQL 5.1, также можно изменять имя базы данных с помощью инструкции RENAME DATABASE:

mysql> RENAME DATABASE имя_старой_базы_данных имя_новой_данных;

Query OK, 0 rows affected (0.01 sec)

Удаление баз данных

Удалить, или сбросить, базу данных не составляет труда. В следующем примере сбрасим БД prestupnost:

mysql> DROP DATABASE prestupnost;

Query OK. 3 rows affected (0.01 sec)

Количество строк, возвращаемых в результатах, равно количеству удаленных таблиц. Следует проявлять осторожность при сбросе базы данных, поскольку при этом удаляются все таблицы, индексы и столбцы, а также все связанные с ней файлы и папки на диске, которые сервер MySQL использовал для поддержки БД.

Попытка сбросить несуществующую базу данных вызовет ошибку. Попробуем вновь сбросить базу данных prestupnost:

mysql> DROP DATABASE prestupnost;

ERROR 1008 (HY000): Can’t drop database ’prestupnost'; database doesn't exist

Этой ошибки можно избежать с помощью ключевой фразы IF EXISTS, что удобно при включении инструкции в сценарий:

mysql> DROP DATABASE IF EXISTS prestupnost;

Query OK, 0 rows affected, 1 warning (0.00 sec)

Предупреждение все же выводится, поскольку база данных prestupnost уже была сброшена. Можно просмотреть это предупреждение с помощью инструкции SHOW WARNING, которая появилась в версии MySQL 4.1.0.

Если вы не включите в инструкцию ключевую фразу IF EXISTS, то вместе с предупреждением будет сгенерировано сообщение об ошибке.

Удаление таблиц

Удалять таблицы так же просто, как и базы данных. В следующем примере создадим и удалим таблицу из базы данных prestupnost:

mysql> CREATE TABLE temp (temp INT(3), PRIMARY KEY (temp));

Query OK, 0 rows affected (0.00 sec) mysql> DROP TABLE temp;

Query OK. 0 rows affected (0.00 sec)

Сообщение 0 rows affected ошибочно. Таблица действительно была создана и удалена.

Для предотвращения ошибок следует использовать ключевую фразу IF EXISTS. Попытаемся вновь сбросить таблицу temp:

mysql> DROP TABLE IF EXISTS temp;

Query OK, 0 rows affected, 1 warning (0.00 sec)

Можно сбросить сразу несколько таблиц, указав их имена в одной инструкции и разделив их запятыми:

mysql> DROP TABLE IF EXISTS temp, tempi, temp2;

Query OK, 0 rows affected, 3 warnings (0.00 sec)

При удалении любых структур необходимо создать резервные копии бызы данных, которые позволят восстановить утраченные данные в результате ошибочных действий.

Контрольные вопросы

  • 1. Какие наборы символов MySQL?
  • 2. Каково назначение типа данных INT?
  • 3. Каково назначение типа данных DECIMAL?
  • 4. Каково назначение типа данных DATE?
  • 5. Каково назначение типа данных TIME?
  • 6. Каково назначение типа данных TIMESTAMP?
  • 7. Каково назначение типа данных CHAR?
  • 8. Каково назначение типа данных BOOLEAN?
  • 9. Каково назначение типа данных TINYINT, SMALLINT, MEDIUMINT?
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >