У СКЛ-у су често потребне структурне модификације базе података, као што је преименовање табела или колона додавањем нових колона или промена типова података. Команда АЛТЕР ТАБЛЕ омогућава да се ове промене изврше ефикасно без утицаја на постојеће податке. То је суштинска команда за управљање и ажурирање шема базе података како се захтеви апликације развијају.
Пример: Прво направимо узорак Студентске табеле да демонстрирамо команду АЛТЕР:
упит:
ALTER TABLE students
RENAME TO learners;
Излаз:
Синтакса за команду АЛТЕР
Ево уобичајених формата синтаксе за коришћење команде АЛТЕР ТАБЛЕ:
1. Преименовање табеле
АЛТЕР ТАБЛЕ име_табеле
РЕНАМЕ ТО нев_табле_наме;
2. Преименовање колоне
АЛТЕР ТАБЛЕ име_табеле
ПРЕНАМЕНИ ЦОЛУМН олд_цолумн_наме ТО нев_цолумн_наме;
3. Додавање нове колоне
АЛТЕР ТАБЛЕ име_табеле
АДД цолумн_наме дататипе;жице у в
АЛТЕР ТАБЛЕ име_табеле
МОДИФИ ЦОЛУМН цолумн_наме нев_дататипе;
Примери команде АЛТЕР у СКЛ-у
Испод су практични примери који ће нам помоћи да разумемо како да ефикасно користимо команду АЛТЕР у различитим сценаријима. Ови примери укључују преименовање табела или колона додавањем нових колона или мења колону типови података.
1. Направите табелу узорка
Прво направимо узорак ученика табела за демонстрацију АЛТЕР команда:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
Хајде да убацимо неке податке и онда извршимо АЛТЕР операцију да бисмо боље разумели команду алтер.
INSERT INTO Student (id name age email phone)
VALUES
(1 'Amit' 20 '[email protected]' '9999999999')
(2 'Rahul' 22 '[email protected]' '8888888888')
(3 'Priya' 21 '[email protected]' '7777777777')
(4 'Sonia' 23 '[email protected]' '6666666666')
(5 'Kiran' 19 '[email protected]' '5555555555');
Излаз
Пример 1: Преименујте колону
Промените назив колоне у ФИРСТ_НАМЕ у табели Студент. Да бисмо променили име колоне постојеће табеле, морамо да користимо кључну реч Цолумн пре него што напишемо име постојеће колоне за промену.
Синтакса
АЛТЕР ТАБЛЕ Ученик ПРЕИМЕНУЈ КОЛОНУ Колона_НАМЕ У ФИРСТ_НАМЕ;
упит:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Излаз
ИзлазПример 2: Преименујте табелу
У овом примеру желимо да преименујемо табелу изStudentдаStudent_Detailsкористећи сеALTER TABLEкоманду чинећи име описнијим и релевантан за њен садржај.
упит:
ALTER TABLE Student RENAME TO Student_Details;Излаз
Пример 3: Додајте нову колону
Да бисмо додали нову колону постојећој табели, прво треба да изаберемо табелу са АЛТЕР ТАБЛЕ командом табле_наме, а затим ћемо написати име нове колоне и њен тип података са АДД цолумн_наме тип података. Хајде да погледамо испод да бисмо боље разумели.
Синтакса
АЛТЕР ТАБЛЕ име_табеле
АДД цолумн_наме дататипе;зеенат аман глумац
упит:
ALTER TABLE Student ADD marks INT;Излаз
У примеру,phoneколона се ажурира одVARCHAR(20)даBIGINT да ефикасније чувају нумеричке податке и обезбеде интегритет података за телефонске бројеве без непотребних карактера.
Синтакса
АЛТЕР ТАБЛЕ име_табеле
МОДИФИ ЦОЛУМН цолумн_наме нев_дататипе;
упит:
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Излаз
| ид | име | старости | емаил | телефон |
|---|---|---|---|---|
| 1 | ста | 20 | амит@гмаил.цом | 9999999999 |
| 2 | Рахул | 22 | рахул@иахоо.цом | 8888888888 |
| 3 | Прииа | 21 | прииа@хотмаил.цом | 7777777777 |
| 4 | Сониа | 23 | сониа@гмаил.цом | 6666666666 |
| 5 | Позив | 19 | киран@иахоо.цом | 5555555555 |
Објашњење :
редитељ Каран Џохар
- Колона телефона сада има тип података БИГИНТ погодан за чување великих нумеричких вредности.
- Постојећи подаци остају непромењени, али се чувају као цели бројеви уместо струна.
Додатни случајеви употребе команде АЛТЕР
1. Уклањање колоне : У неким случајевима ћемо можда морати да уклонимо колону. Да бисте то урадили, можете користити синтаксу ДРОП ЦОЛУМН:
АЛТЕР ТАБЛЕ Студент_Детаилс
ДРОП ЦОЛУМН ознаке;
Ова команда у потпуности брише колону са ознакама из табеле
2. Промена подразумеване вредности колоне : Такође можемо да изменимо подразумевану вредност колоне користећи клаузулу СЕТ ДЕФАУЛТ:
АЛТЕР ТАБЛЕ Студент_Детаилс
АЛТЕР ЦОЛУМН аге СЕТ ДЕФАУЛТ 18;
3. Преименовање табеле или колоне у различитим базама података : Имајте на уму да СКЛ синтакса може да варира у различитим системима база података. Ево како бисмо преименовали табелу или колону у МиСКЛ МариаДБ и Орацле :
- МиСКЛ / МариаДБ : Синтакса за преименовање колоне је слична, али такође морате користити команду ЦХАНГЕ ЦОЛУМН да бисте преименовали колону:
АЛТЕР ТАБЛЕ Студент
ЦХАНГЕ ЦОЛУМН олд_цолумн_наме нев_цолумн_наме дататипе;
- Орацле : Орацле подржава синтаксу РЕНАМЕ ЦОЛУМН, али захтева другачију синтаксу за преименовање табеле:
Креирај квизАЛТЕР ТАБЛЕ Студент РЕНАМЕ ЦОЛУМН олд_цолумн_наме ТО нев_цолумн_наме;