logo

ALTER (PRENAME) в SQL

В SQL често се изискват структурни модификации на база данни, като например преименуване на таблици или колони, добавяне на нови колони или промяна на типове данни. Командата ALTER TABLE позволява тези промени да бъдат направени ефективно, без да се засягат съществуващите данни. Това е основна команда за управление и актуализиране на схеми на бази данни, тъй като изискванията на приложението се развиват.

Пример: Първо нека създадем примерна таблица Student, за да демонстрираме командата ALTER:

ученици-маса' src='//techcodeview.com/img/sql/03/alter-rename-in-sql.webp' title=

Запитване:



ALTER TABLE students   
RENAME TO learners;

Изход:

Алтер-маса' loading='lazy' src='//techcodeview.com/img/sql/03/alter-rename-in-sql-1.webp' title=

Синтаксис за командата ALTER

Ето общите синтактични формати за използване на командата ALTER TABLE:

1. Преименуване на таблица

ALTER TABLE име_на_таблица
ПРЕИМЕНУВАНЕ НА new_table_name;

2. Преименуване на колона

ALTER TABLE име_на_таблица
ПРЕИМЕНУВАНЕ на КОЛОНА старо_име_на_колона КЪМ ново_име_на_колона;

3. Добавяне на нова колона

ALTER TABLE име_на_таблица
ADD column_name тип данни;

какво е интерфейс

ALTER TABLE име_на_таблица
MODIFY COLUMN column_name new_datatype;

Примери за команда ALTER в SQL

По-долу са дадени практически примери, които да ни помогнат да разберем как да използваме командата ALTER ефективно в различни сценарии. Тези примери включват преименуване на таблици или колони, добавяне на нови колони или променяща се колона типове данни.

1. Създайте примерна таблица

Първо нека създадем примерен ученик таблица за демонстриране на ALTER команда:

CREATE TABLE Student (  
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);

Нека вмъкнем някои данни и след това изпълним операция ALTER, за да разберем по-добре командата alter.

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');

Изход

Студентска маса' loading='lazy' src='//techcodeview.com/img/sql/03/alter-rename-in-sql-2.webp' title=Студентска маса

Пример 1: Преименуване на колона

Променете името на името на колоната на FIRST_NAME в таблицата Student. За да променим името на колоната на съществуващата таблица, трябва да използваме ключовата дума Column, преди да напишем съществуващото име на колона, което да променим.

Синтаксис

ALTER TABLE Student RENAME COLUMN Column_NAME TO FIRST_NAME;

Запитване:

ALTER TABLE Student RENAME Column name TO FIRST_NAME;

Изход

ALTER (PRENAME) в SQLИзход

Пример 2: Преименуване на таблица

В този пример искаме да преименуваме таблицата отStudentкъмStudent_Detailsс помощта наALTER TABLEкоманда, която прави името по-описателно и съответстващи на съдържанието му.

Запитване:

ALTER TABLE Student RENAME TO Student_Details;

Изход

Таблица Student_Details' loading='lazy' src='//techcodeview.com/img/sql/03/alter-rename-in-sql-4.webp' title=Таблица Student_Details

Пример 3: Добавяне на нова колона

За да добавим нова колона към съществуващата таблица, първо трябва да изберем таблицата с командата ALTER TABLE table_name и след това ще напишем името на новата колона и нейния тип данни с ADD column_name тип данни. Нека да погледнем по-долу, за да разберем по-добре.

Синтаксис

ALTER TABLE име_на_таблица
ADD column_name тип данни;

кой е фреди меркюри

Запитване:

ALTER TABLE Student ADD marks INT;

Изход

изход' loading='lazy' src='//techcodeview.com/img/sql/03/alter-rename-in-sql-5.webp' title=изход

В примера наphoneколоната се актуализира отVARCHAR(20)къмBIGINT за по-ефективно съхраняване на числови данни и гарантиране цялост на данните за телефонни номера без ненужни знаци.

Синтаксис

ALTER TABLE име_на_таблица
MODIFY COLUMN column_name new_datatype;

Запитване:

ALTER TABLE Student_Details  
MODIFY COLUMN phone BIGINT;

Изход

idимевъзрастимейлтелефон
1Какво20[email protected]9999999999
2Рахул22[email protected]8888888888
3Прия21[email protected]7777777777
4Соня23[email protected]6666666666
5Обаждането19[email protected]5555555555

Обяснение :

  • Телефонната колона вече има тип данни BIGINT, подходящ за съхраняване на големи числови стойности.
  • Съществуващите данни остават непроменени, но се съхраняват като цели числа вместо струни.

Допълнителни случаи на използване на командата ALTER

1. Премахване на колона : В някои случаи може да се наложи да премахнем колона. За да направите това, можете да използвате синтаксиса DROP COLUMN:

ALTER TABLE Student_Details

ПУСКАНЕ НА КОЛОНА марки;

Тази команда изтрива колоната с марки изцяло от таблицата

2. Промяна на стойността по подразбиране на колона : Можем също да променим стойността по подразбиране на колона, като използваме клаузата SET DEFAULT:

ALTER TABLE Student_Details

ALTER COLUMN age SET DEFAULT 18;

3. Преименуване на таблица или колона в различни бази данни : Имайте предвид, че синтаксисът на SQL може да варира в различните системи за бази данни. Ето как бихме преименували таблица или колона в MySQL MariaDB и Оракул :

np.хистограма
  • MySQL / MariaDB : Синтаксисът за преименуване на колона е подобен, но трябва също да използвате командата CHANGE COLUMN, за да преименувате колона:

ALTER TABLE Студент

CHANGE COLUMN old_column_name new_column_name тип данни;

  • Оракул : Oracle поддържа синтаксиса RENAME COLUMN, но изисква различен синтаксис за преименуване на таблица:

ALTER TABLE Student RENAME COLUMN old_column_name TO new_column_name;

Създаване на тест