Database
 sql >> база данни >  >> RDS >> Database

Как да добавя колона в таблица в SQL?

Как да добавя колона в таблица в SQL

Въведение

  • За да добавите колона във вече създадена таблица, трябва да използвате командата ALTER заедно с клаузата ADD.
  • Ако в заявката не е посочено къде да се добави новата колона, по подразбиране тя ще бъде добавена като последна колона.
  • Можете също да добавите нова колона на първата или дори след конкретна колона от вече създадена таблица.
  • Можете да добавите една колона или повече от една колони наведнъж, като използвате една SQL заявка.

(A). Добавяне на нова колона в последната от съществуваща таблицата

Синтаксис:

ALTER TABLE tablename ADD (ColumnName datatype);

къде ,

  1. Име на таблица е името на вече съществуваща таблица, към която трябва да добавите нова колона.
  2. Column_name е името на колоната, която трябва да бъде добавена към вече съществуваща таблица.

Пример:

Първо, ще създадем база данни с име „studentdb “. След това в тази база данни ще създадем таблица „студент“ и ще вмъкнем записи в таблицата. Ще разгледаме същата база данни и същата таблица за следващите примери.

Сега ще добавим нова колона „Град“ към съществуваща таблица.

 mysql> USE studentdb;
 Database changed
 mysql> SELECT *FROM student;
 +---------+-----------+-----------+-------------+
 | Stud_ID | Stud_Name | Course_ID | Course_Name |
 +---------+-----------+-----------+-------------+
 |       1 | Prajakta  |       101 | DBMS        |
 |       2 | Shweta    |       102 | CN          |
 |       3 | Nikita    |       103 | OS          |
 |       4 | Ankita    |       104 | C           |
 +---------+-----------+-----------+-------------+
 4 rows in set (0.00 sec)
 mysql> ALTER TABLE student ADD (City VARCHAR(20));
 Query OK, 4 rows affected (0.29 sec)
 Records: 4  Duplicates: 0  Warnings: 0
 mysql> SELECT *FROM student;
 +---------+-----------+-----------+-------------+------+
 | Stud_ID | Stud_Name | Course_ID | Course_Name | City |
 +---------+-----------+-----------+-------------+------+
 |       1 | Prajakta  |       101 | DBMS        | NULL |
 |       2 | Shweta    |       102 | CN          | NULL |
 |       3 | Nikita    |       103 | OS          | NULL |
 |       4 | Ankita    |       104 | C           | NULL |
 +---------+-----------+-----------+-------------+------+
 4 rows in set (0.00 sec) 

Нова колона „Град“ се добавя към съществуваща таблица за ученици. Тъй като в заявката не сме посочили къде да се добави, така че по подразбиране тя се добавя като последна колона.

(B) Добавяне на повече от една колона към съществуваща таблица

Синтаксис:

ALTER TABLE tablename ADD (ColumnName1 datatype, ColumnName2 datatype);

Пример:

Сега ще добавим две нови колони „Град“ и „Марки“ към съществуваща таблица с помощта на една заявка.

mysql> ИЗПОЛЗВАЙТЕ studentdb;

Изход:

 Database changed
 mysql> SELECT *FROM student;
 +---------+-----------+-----------+-------------+
 | Stud_ID | Stud_Name | Course_ID | Course_Name |
 +---------+-----------+-----------+-------------+
 |       1 | Prajakta  |       101 | DBMS        |
 |       2 | Shweta    |       102 | CN          |
 |       3 | Nikita    |       103 | OS          |
 |       4 | Ankita    |       104 | C           |
 +---------+-----------+-----------+-------------+
 4 rows in set (0.00 sec)
 mysql> ALTER TABLE student ADD (City VARCHAR(20),Marks INT);
 Query OK, 4 rows affected (0.40 sec)
 mysql> SELECT *FROM student; 

Изход:

 +---------+-----------+-----------+-------------+------+-------+
 | Stud_ID | Stud_Name | Course_ID | Course_Name | City | Marks |
 +---------+-----------+-----------+-------------+------+-------+
 |       1 | Prajakta  |       101 | DBMS        | NULL |  NULL |
 |       2 | Shweta    |       102 | CN          | NULL |  NULL |
 |       3 | Nikita    |       103 | OS          | NULL |  NULL |
 |       4 | Ankita    |       104 | C           | NULL |  NULL |
 +---------+-----------+-----------+-------------+------+-------+
 4 rows in set (0.00 sec) 

Нови колони „Град“ и „Отметки“ се добавят към съществуваща таблица за ученици. Тъй като в заявката не сме посочили къде трябва да се добави, така че по подразбиране и двете колони се добавят на последно с помощта на една заявка.

(C) Добавяне на колона на първа позиция на съществуваща таблица

Синтаксис :

ALTER TABLE tablename ADD ColumnName datatype FIRST;

Пример: Сега ще добавим нова колона „Sr_No“ към съществуваща таблица като първа колона.

mysql> USE studentdb;

Изход:

 Database changed
 mysql> SELECT *FROM student;
 +---------+-----------+-----------+-------------+
 | Stud_ID | Stud_Name | Course_ID | Course_Name |
 +---------+-----------+-----------+-------------+
 |       1 | Prajakta  |       101 | DBMS        |
 |       2 | Shweta    |       102 | CN          |
 |       3 | Nikita    |       103 | OS          |
 |       4 | Ankita    |       104 | C           |
 +---------+-----------+-----------+-------------+
 4 rows in set (0.00 sec)
 mysql> ALTER TABLE student ADD Sr_No INT FIRST; 

Изход:

 Query OK, 4 rows affected (0.24 sec)
 Records: 4  Duplicates: 0  Warnings: 0
 mysql> SELECT *FROM student; 

Изход:

 +-------+---------+-----------+-----------+-------------+
 | Sr_No | Stud_ID | Stud_Name | Course_ID | Course_Name |
 +-------+---------+-----------+-----------+-------------+
 |  NULL |       1 | Prajakta  |       101 | DBMS        |
 |  NULL |       2 | Shweta    |       102 | CN          |
 |  NULL |       3 | Nikita    |       103 | OS          |
 |  NULL |       4 | Ankita    |       104 | C           |
 +-------+---------+-----------+-----------+-------------+
 4 rows in set (0.00 sec) 

Нова колона „Sr_No“ се добавя към съществуваща таблица за ученици. Тъй като в заявката сме посочили ключова дума „FIRST“, така че „Sr_No“ се добавя като първа колона.

(D) Добавяне на нова колона след конкретна колона от съществуваща таблица

Синтаксис:

ALTER TABLE tablename ADD ColumnName datatype AFTER column_name;

Пример:

Сега ще добавим нова колона „Marks“ към съществуваща таблица след „Course_Name“ .

mysql> USE studentdb;

Изход:

 Database changed
 mysql> SELECT *FROM student; 

Изход:

 +---------+-----------+-----------+-------------+------+
 | Stud_ID | Stud_Name | Course_ID | Course_Name | City |
 +---------+-----------+-----------+-------------+------+
 |       1 | Prajakta  |       101 | DBMS        | NULL |
 |       2 | Shweta    |       102 | CN          | NULL |
 |       3 | Nikita    |       103 | OS          | NULL |
 |       4 | Ankita    |       104 | C           | NULL |
 +---------+-----------+-----------+-------------+------+
 4 rows in set (0.00 sec)
 mysql> ALTER TABLE student ADD Marks INT AFTER Course_Name; 

Изход :

 Query OK, 4 rows affected (0.28 sec)
 Records: 4  Duplicates: 0  Warnings: 0 
mysql> SELECT *FROM student;

Изход:

 +---------+-----------+-----------+-------------+-------+------+
 | Stud_ID | Stud_Name | Course_ID | Course_Name | Marks | City |
 +---------+-----------+-----------+-------------+-------+------+
 |       1 | Prajakta  |       101 | DBMS        |  NULL | NULL |
 |       2 | Shweta    |       102 | CN          |  NULL | NULL |
 |       3 | Nikita    |       103 | OS          |  NULL | NULL |
 |       4 | Ankita    |       104 | C           |  NULL | NULL |
 +---------+-----------+-----------+-------------+-------+------+
 4 rows in set (0.00 sec) 

Нова колона „Оценки“ се добавя към съществуваща таблица за ученици. Тъй като в заявката сме посочили ключова дума 'AFTER' с името на колоната, след което трябва да се добави новата колона. Следователно „Оценки“ се добавя след „Course_Name“.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обединяване на файлове с данни със Statistica, част 1

  2. SQL EXISTS оператор за начинаещи

  3. Основи на табличните изрази, част 9 – Изгледи, сравнени с производни таблици и CTE

  4. Salesforce SOQL от Java

  5. Преглед на изявлението T-SQL PRINT