Команда АЛТЕР ТАБЛЕ користи се за промену структуре табеле ПостгреСКЛ. То је наредба која се користи за промену колона табеле или назив табеле.
У овом упутству ћете научити:
- Синтакса
- Опис
- Измена колоне
- Додавање нове колоне
- Преименовање колоне табеле
- Постављање подразумеване вредности за колону
- Додавање ограничења за проверу
- Преименовање таблице
- Коришћење пгАдмин
Синтакса
Ево синтаксе за наредбу ПостгреСКЛ АЛТЕР ТАБЛЕ:
ALTER TABLE table-name action;
Параметар име-табеле је име табеле коју треба да промените.
Параметар акције је радња коју треба да извршите, као што је промена назива колоне, промена типа података колоне итд.
Опис
Команда АЛТЕР ТАБЛЕ мења дефиницију постојеће табеле. Потребни су следећи подформи:
- ДОДАЈ КОЛОНУ : користи се слична синтакса као наредба ЦРЕАТЕ ТАБЛЕ за додавање нове колоне у табелу.
- ДОЛП КОЛОНА : за испуштање колоне табеле. Ограничења и индекси наметнути колонама такође ће бити одбачени.
- СЕТ / ДРОП ДЕФАУЛТ : Користите за уклањање задате вредности за колону. Међутим, промена ће се применити само на наредне изјаве ИНСЕРТ.
- СЕТ / ДРОП НОТ НУЛЛ : Мења да ли ће ступац дозволити нуле или не.
- СЕТ СТАТИСТИЦС: За постављање циља прикупљања статистика за сваку колону за АНАЛИЗУ операције.
- СЕТ СТОРАГЕ : За подешавање начина чувања колоне. Ово ће одредити где се колона држи, било да је у реду, или у допунској табели.
- СЕТ БЕЗ ОИДС-а : Користите за уклањање старог ступца табеле.
- РЕНАМЕ : за промену имена табеле или имена колоне.
- ДОДАТИ табле_цонстраинт : Користите за додавање новог ограничења у табелу Користи исту синтаксу као наредба ЦРЕАТЕ ТАБЛЕ.
- ДРОП ЦОНСТРАИНТ : Користите за испуштање ограничења табеле.
- ВЛАСНИК : за промену власника табеле, низа, индекса или погледа на одређеног корисника.
- КЛАСТЕР : за обележавање табеле која ће се користити за извођење будућих операција кластера.
Измена колоне
Колона се може изменити на више начина. Такве модификације се могу извршити помоћу команде АЛТЕР ТАБЛЕ. Размотримо следеће:
Додавање нове колоне
Да бисте додали нову колону у табелу ПостгреСКЛ, користи се наредба АЛТЕР ТАБЛЕ са следећом синтаксом:
ALTER TABLE table-nameADD new-column-name column-definition;
Име табеле је назив табеле коју треба изменити.
Име нове колоне је име нове колоне која се додаје.
Дефиниција колоне је тип података нове колоне.
Погледајте доњу табелу књига:
Табела има две колоне, ид и име. Морамо додати нову колону у табелу и дати јој име аутор. Само покрените следећу команду:
ALTER TABLE BookADD author VARCHAR(50);
Након покретања горње наредбе, табела Боок је сада следећа:
Нова колона је успешно додата.
Преименовање колоне табеле
Наредбу АЛТЕР ТАБЛЕ можемо користити за промену имена колоне. У овом случају, наредба се користи са следећом синтаксом:
ALTER TABLE table-nameRENAME COLUMN old-name TO new-name;
Име табеле је име табеле чија ће колона бити преименована.
Старо име је старо / тренутно име колоне.
Ново име је ново име колоне. Узмите у обзир табелу Књига приказана доле:
Боок:
Потребно нам је име аутора колоне боок_аутхор. Ево наредбе:
ALTER TABLE BookRENAME COLUMN author TO book_author;
Након покретања наредбе можемо видети структуру табеле:
Име колоне је успешно промењено.
Постављање подразумеване вредности за колону
Можемо поставити подразумевану вредност за колону тако да ће се користити чак и када не наведете вредност за ту колону током ИНСЕРТ операција. У овом случају, наредба АЛТЕР ТАБЛЕ може се користити са сљедећом синтаксом:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
Име табеле је име табеле чији ће се ступац изменити.
Име колоне је име за чију подразумевану вредност треба да се постави.
Вредност је подразумевана вредност за колону.
Узмите у обзир доњу табелу књига:
Морамо да поставимо подразумевану вредност за колону боок_аутхор. Можемо покренути следећу команду:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Сада убацимо ред у табелу:
INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners');
Имајте на уму да смо уметнули вредности за само две колоне, ид и наме. Међутим, подразумевана вредност је коришћена за ступац боок_аутхор:
Додавање ограничења за проверу
Ограничење провере помаже у потврђивању записа који се убацују у табелу. То можемо учинити комбиновањем наредбе АЛТЕР ТАБЛЕ са наредбом АДД ЦХЕЦК. Синтакса:
ALTER TABLE table-name ADD CHECK expression;
Име табеле је назив табеле која се мења.
Израз је ограничење које се намеће колони табеле.
Изменимо колону боок_аутхор табеле Боок тако да прихвата само вредности, Ницхолас и Самуел:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Покушајмо сада да уметнемо вредност која није Ницхолас или Самуел у колону боок_аутхор табеле Боок:
INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Изјава ће вратити следећу грешку:
Операција уметања није успела јер смо прекршили ограничење провере.
Преименовање таблице
Ево синтаксе за наредбу АЛТЕР ТАБЛЕ за преименовање табеле:
ALTER TABLE table-nameRENAME TO new-table-name;
Име табеле је тренутно име табеле.
Име нове табеле је ново име које се додељује табели.
На пример, променимо назив табеле Боок у Боокс:
ALTER TABLE BookRENAME TO Books;
Коришћење пгАдмин
Сада да видимо како се ове радње могу извршити помоћу пгАдмин-а.
Додавање нове колоне
Да бисте то постигли путем пгАдмин-а, урадите ово:
Корак 1) Пријавите се на свој пгАдмин налог.
Корак 2)
- На траци за навигацију са леве стране кликните на Базе података.
- Кликните Демо.
Корак 3) Укуцајте упит у уређивачу упита:
ALTER TABLE BookADD author VARCHAR(50);
Корак 4) Кликните на дугме Изврши.
Корак 5) Да бисте проверили да ли је колона додата, урадите следеће:
- Кликните на Базе података на левој траци за навигацију.
- Проширите Демо.
- Проширите шеме.
- Прошири Јавно.
- Прошири табеле.
- Прошири књигу.
- Прошири колоне.
Требало је додати колону, као што је приказано доле:
Преименовање колоне табеле
Да бисте то постигли путем пгАдмин-а, урадите ово:
Корак 1) Пријавите се на свој пгАдмин налог.
Корак 2)
- На траци за навигацију са леве стране кликните на Базе података.
- Кликните Демо.
Корак 3) Укуцајте упит у уређивачу упита:
ALTER TABLE BookRENAME COLUMN author TO book_author;
Корак 4) Кликните на дугме Изврши.
Корак 5) Да бисте проверили да ли је промена била успешна, урадите следеће:
- Кликните на Базе података на левој траци за навигацију.
- Проширите Демо.
- Проширите шеме.
- Прошири Јавно.
- Прошири табеле.
- Прошири књигу.
- Прошири колоне.
Колоне би сада требале бити следеће:
Колона је успешно промењена.
Постављање подразумеване вредности за колону
Да бисте то постигли путем пгАдмин-а, урадите ово:
Корак 1) Пријавите се на свој пгАдмин налог.
Корак 2)
- На траци за навигацију са леве стране кликните на Базе података.
- Кликните Демо.
Корак 3) Укуцајте упит у уређивачу упита:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Корак 4) Кликните на дугме Изврши.
Корак 5) Да бисте тестирали, покрените следећу команду у уређивачу упита:
INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners')
Корак 6) Сада можемо да упитамо табелу да бисмо проверили да ли је подразумевана вредност убачена у колону боок_аутхор:
Додавање ограничења за проверу
Да бисте то постигли путем пгАдмин-а, урадите ово:
Корак 1) Пријавите се на свој пгАдмин налог.
Корак 2)
- На траци за навигацију са леве стране кликните на Базе података.
- Кликните Демо.
Корак 3) Укуцајте упит у уређивачу упита:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Корак 4) Кликните на дугме Изврши.
Корак 5) Да бисте ово тестирали, урадите следеће:
- Унесите следећи упит у уређивач упита:
INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
- Кликните на дугме Екецуте.
Вратиће следеће:
Преименовање таблице
Да бисте то постигли путем пгАдмин-а, урадите ово:
Корак 1) Пријавите се на свој пгАдмин налог.
Корак 2)
- На траци за навигацију са леве стране кликните на Базе података.
- Кликните Демо.
Корак 3) Укуцајте упит у уређивачу упита:
ALTER TABLE BookRENAME TO Books;
Корак 4) Кликните на дугме Изврши.
Корак 5) Да бисте проверили да ли је табела преименована, урадите следеће:
- Кликните на Базе података на левој траци за навигацију.
- Проширите Демо.
- Проширите шеме.
- Прошири Јавно.
- Прошири табеле.
Табела је успешно преименована.
Резиме:
- Израз АЛТЕР ТАБЛЕ користи се за модификовање структуре табеле.
- Команда АЛТЕР ТАБЛЕ има различите облике у зависности од задатка који треба да извршите.
- Структура могу бити колоне табеле или сама табела.
- Овом изјавом можемо да променимо име табеле.
- Команда АЛТЕР ТАБЛЕ може се користити за постављање задате вредности колоне.
- Изјава се може користити за потврђивање вредности које се уносе у колону табеле.
Преузмите базу података кориштену у овом водичу