📜  SQL添加,删除,更新列操作

📅  最后修改于: 2020-11-12 00:35:18             🧑  作者: Mango

SQL添加/删除/更新列操作

语句ALTER TABLE主要用于删除,添加或修改现有表中的列。它还用于在当前表上添加许多约束。

ADD COLUMN用于将特定表添加到现有表中。我们可以添加其他信息,而无需再次创建整个数据库。

SQL添加列用于将列操作添加到现有SQL表中。我们可以删除表并根据需要重新创建它。在生产环境中,它与数据有关,因此具有破坏性。

ADD COLUMN的语法

借助Transact SQL命令,在表之前使用添加列操作。

ALTER TABLE table_name
ADD column_name column_definition;

根据语法,

  • 指定我们要首先在其中添加新列的表。
  • 然后,我们从ADD Column中指定列定义

列定义的语法:

Column_name date_type constraints;

如果要使用任何一条语句将多个列添加到现有表中,可以使用以下语法:

ALTER TABLE table_name (Name of  the table)
ADD [COLUMN] column_definition, (for adding column)
ADD [COLUMN] column_definition,
 ...;

许多数据库支持ALTER TABLE ADD COLUMN语句。

要使用SQL向表中添加任何一列,我们可以指定是否要通过ALTER TABLE命令更改表结构,然后在RDBMS中使用ADD命令更改该表结构。

句法:

ALTER TABLE Add Column的语法是,

ALTER TABLE "table_name"
ADD "column_name" "Data Type";

例子:

看下面的例子。假设我们的起点是在CREATE TABLE部分中创建的Student表:

表学生

Column Name Data Type
First_Name char(30)
Last_Name char(25)
Birth_Date datetime
Address char(50)
City char(40)
Country char(20)

示例1:在表中添加一列

如果我们要添加任何名为“性别”的列。然后,我们写:

MySQL:

ALTER TABLE Student ADD Gender char(1);

结果如下所示:

表学生

Column Name Data Type
First_Name char(30)
Last_Name char(25)
Birth_Date datetime
Address char(50)
City char(40)
Country char(20)
Gender char(1)

注意:名为“性别”的新列将成为“学生”表中的最后一列。

示例2:将多个列添加到表

可以添加多个列。

例如,如果我们要添加一个名为“ Telephone”的列和另一个名为“ Email”的列,我们应该输入以下内容:

MySQL:

ALTER TABLE Student ADD (Telephone char(15), Email char(20) );

现在表变成:

表学生

Column Name Data Type
First_Name char(30)
Last_Name char(25)
Birth_Date datetime
Address char(50)
City char(40)
Country char(20)
Gender char(1)
Telephone char(15)
Email char(20)

下拉表命令

drop列用于将表中的列删除。它用于从表中删除不必要的列。

句法:

ALTER TABLE table_name   /name of table
DROP COLUMN column_name;

修改表

修改函数用于修改简单表中的现有列。可以一次更改多个列。

句法:

ALTER TABLE table_name
MODIFY column_name column_type;

表格员工

ROLL_NO Name OF Employee
1 Jessy
2 Trump
3 Stephan
4 Hawkins

查询:

  • 要添加2列COURSEAGE表到Student。
 ALTER TABLE EMPLOYEE ADD (AGE number(3),COURSE varchar(20));

输出:

ROLL_NO Name of employee AGE COURSE
1 Jessy
2 Trump
3 Stephan
4 Hawkins
  • 到表Employee中的“修改”列AGE
 ALTER TABLE EMPLOYEE MODIFY COURSE varchar(15);

在运行上述查询最大大小后,“列”当然从20减少到15。

  • 到表Employee中的DROP列。
ALTER TABLE EMPLOYEE DROP COLUMN AGE;

输出:

ROLL_NONAME COURSE
1 Ram
2 Abhi
3 Rahul
4 Tanu