Database
 sql >> Baza danych >  >> RDS >> Database

Jak dodać kolumnę w tabeli w SQL?

Jak dodać kolumnę w tabeli w SQL

Wprowadzenie

  • Aby dodać kolumnę do już utworzonej tabeli, należy użyć polecenia ALTER wraz z klauzulą ​​ADD.
  • Jeśli w zapytaniu nie określono, gdzie ma zostać dodana nowa kolumna, to domyślnie zostanie ona dodana jako ostatnia kolumna.
  • Można również dodać nową kolumnę na pierwszej lub nawet po określonej kolumnie już utworzonej tabeli.
  • Możesz dodać jedną kolumnę lub więcej niż jedną kolumnę naraz, używając pojedynczego zapytania SQL.

(A). Dodanie nowej kolumny na końcu istniejącej tabeli

Składnia:

ALTER TABLE tablename ADD (ColumnName datatype);

gdzie ,

  1. Nazwa tabeli to nazwa już istniejącej tabeli, do której musisz dodać nową kolumnę.
  2. Nazwa_kolumny to nazwa kolumny, która ma zostać dodana do już istniejącej tabeli.

Przykład:

Najpierw utworzymy bazę danych o nazwie „studentdb ”. Następnie w tej bazie utworzymy tabelę „student” i wstawimy do niej rekordy. W kolejnych przykładach rozważymy tę samą bazę danych i tę samą tabelę.

Teraz dodamy nową kolumnę „Miasto” do istniejącej tabeli.

 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) 

Nowa kolumna „Miasto” została dodana do istniejącej tabeli uczniów. Ponieważ w zapytaniu nie określiliśmy, gdzie ma zostać dodane, więc domyślnie jest ono dodawane jako ostatnia kolumna.

(B)Dodawanie więcej niż jednej kolumny do istniejącej tabeli

Składnia:

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

Przykład:

Teraz dodamy dwie nowe kolumny „Miasto” i „Znaki” do istniejącej tabeli za pomocą jednego zapytania.

mysql> USE studentdb;

Wyjście:

 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; 

Wyjście:

 +---------+-----------+-----------+-------------+------+-------+
 | 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) 

Do istniejącej tabeli uczniów dodano nowe kolumny „Miasto” i „Znaki”. Ponieważ w zapytaniu nie określiliśmy, gdzie ma zostać dodane, więc domyślnie obie kolumny są dodawane na końcu za pomocą jednego zapytania.

(C) Dodanie kolumny na pierwszej pozycji istniejącej tabeli

Składnia :

ALTER TABLE tablename ADD ColumnName datatype FIRST;

Przykład: Teraz dodamy nową kolumnę „Sr_No” do istniejącej tabeli jako pierwszą kolumnę.

mysql> USE studentdb;

Wyjście:

 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; 

Wyjście:

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

Wyjście:

 +-------+---------+-----------+-----------+-------------+
 | 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) 

Nowa kolumna „Sr_No” została dodana do istniejącej tabeli uczniów. Ponieważ w zapytaniu określiliśmy słowo kluczowe „FIRST”, więc „Sr_No” jest dodawane jako pierwsza kolumna.

(D) Dodanie nowej kolumny po określonej kolumnie istniejącej tabeli

Składnia:

ALTER TABLE tablename ADD ColumnName datatype AFTER column_name;

Przykład:

Teraz dodamy nową kolumnę „Znaki” do istniejącej tabeli po „Nazwa_kursu”.

mysql> USE studentdb;

Wyjście:

 Database changed
 mysql> SELECT *FROM student; 

Wyjście:

 +---------+-----------+-----------+-------------+------+
 | 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; 

Wyjście :

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

Wyjście:

 +---------+-----------+-----------+-------------+-------+------+
 | 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) 

Nowa kolumna „Znaki” zostaje dodana do istniejącej tabeli uczniów. Ponieważ w zapytaniu podaliśmy słowo kluczowe „AFTER” z nazwą kolumny, po której ma zostać dodana nowa kolumna. Dlatego „Znaki” są dodawane po „Nazwie_kursu”.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gry MMO i projektowanie baz danych

  2. Pobierz kopię swojej bazy danych

  3. Rozwiązania wyzwań generatora serii liczb – Część 4

  4. Minimalizowanie wpływu poszerzenia kolumny TOŻSAMOŚĆ – część 1

  5. Jak zainstalować i skonfigurować ClickHouse na Ubuntu 20.04