- •Работа с таблицами
- •Цели занятия
- •Таблица
- •Некоторые замечания
- •Создание таблицы
- •Пример создания таблицы
- •Пример создания таблицы с ограничением
- •DEFAULT
- •Пример использования DEFAULT
- •Ограничения
- •Ограничение CHECK
- •Ограничение CHECK
- •Пример использования ограничения
- •Пример использования ограничения
- •Пример использования ограничения
- •Ограничение NOT NULL
- •Пример использования ограничения
- •Ограничение UNIQUE
- •Ограничение UNIQUE
- •Пример использования ограничения
- •Ограничение PRIMARY KEY
- •Пример использования ограничения
- •Ограничение ВНЕШНЕГО КЛЮЧА
- •Ограничение ВНЕШНЕГО КЛЮЧА
- •Пример использования ограничения
- •Типы данных
- •Числовые типы
- •Денежный, логический и
- •Типы дата/времени
- •Добавление столбца
- •Пример добавления столбца
- •Переименование и удаление
- •Пример переименования и удаления
- •Изменение типа данных и значения
- •Пример изменения типа данных и
- •Добавление ограничения
- •Пример добавления ограничений
- •Удаление ограничений
- •Пример удаления ограничений
- •Переименование и удаление
- •Пример переименования и
Пример добавления столбца
31 ALTER TABLE books ADD publisher character(50);
ALTER TABLE books ADD publisher character(50) DEFAULT 'no name';
ALTER TABLE books ADD publisher character(50) NOT NULL;
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |
Переименование и удаление
столбца
32 • Переименование
ALTER TABLE имя_таблицы RENAME COLUMN старое_имя_столбца TO новое_имя_столбца;
• Удаление
ALTER TABLE имя_таблицы DROP COLUMN имя_столбца;
ALTER TABLE имя_таблицы DROP COLUMN имя_столбца CASCADE;
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |
Пример переименования и удаления
столбца
33• Переименование
ALTER TABLE books RENAME COLUMN publisher TO new_publisher;
• Удаление
ALTER TABLE books DROP COLUMN new_publisher;
ALTER TABLE books DROP COLUMN new_publisher CASCADE;
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |
Изменение типа данных и значения
по умолчанию для столбца
34• Изменение типа данных
ALTER TABLE имя_таблицы ALTER COLUMN имя_столбца TYPE новый_тип_данных;
• Удаление значения по умолчанию
ALTER TABLE имя_таблицы ALTER COLUMN имя_столбца DROP DEFAULT;
• Изменение значения по умолчанию
ALTER TABLE имя_таблицы ALTER COLUMN имя_столбца SET DEFAULT новое_значение_по_умолчанию
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |
Пример изменения типа данных и
значения по умолчанию для столбца
35• Изменение типа данных
ALTER TABLE books ALTER COLUMN new_publisher TYPE text;
• Удаление значения по умолчанию
ALTER TABLE books ALTER COLUMN new_publisher DROP DEFAULT;
• Изменение значения по умолчанию
ALTER TABLE books ALTER COLUMN new_publisher SET DEFAULT 'Ivanov';
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |
Добавление ограничения
36 ALTER TABLE имя_таблицы ADD CHECK (условие);
ALTER TABLE имя_таблицы ADD CONSTRAINT имя_ограничения UNIQUE (имя_столбца);
ALTER TABLE имя_таблицы ADD FOREIGN KEY (имя_столбца) REFERENCES имя_таблицы_где_указанный_столбец _будет_первичным_ключом;
ALTER TABLE имя_таблицы ALTER COLUMN имя_столбца SET NOT NULL;
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |
Пример добавления ограничений
37ALTER TABLE books ADD CHECK (price
>0.0);
ALTER TABLE books ADD CONSTRAINT unic_id UNIQUE (books_id);
ALTER TABLE books ADD FOREIGN KEY (shop_id) REFERENCES shop;
ALTER TABLE books ALTER COLUMN author SET NOT NULL;
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |
Удаление ограничений
38 ALTER TABLE имя_таблицы DROP CONSTRAINT имя_ограничения;
ALTER TABLE имя_таблицы ALTER COLUMN имя_столбца DROP NOT NULL;
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |
Пример удаления ограничений
39 ALTER TABLE books DROP CONSTRAINT unic_id;
ALTER TABLE books ALTER COLUMN author DROP NOT NULL;
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |
Переименование и удаление
таблицы
40• Переименование таблицы
ALTER TABLE имя_таблицы RENAME TO новое_имя_таблицы;
• Удаление таблицы DROP TABLE имя_таблицы;
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |
