是否需要使用 SQL 向表中添加列?一旦您知道命令和语法,就很容易做到。
让我们看一下如何在几个不同的数据库中执行此操作并查看一些示例。
SQL 添加列
要在 SQL 中向表中添加列,请使用ALTER TABLE 命令。具体来说,您将其写为 ALTER TABLE ADD COLUMN。
这个命令可以让你做很多事情,其中之一就是添加一个新列。
要在 Oracle、SQL Server、MySQL 和 PostgreSQL 中使用 SQL 添加列,可以使用此处显示的语法:
ALTER TABLE table_nameADD [COLUMN] column_name data_type [constraint];
所有这四个数据库(Oracle、SQL Server、MySQL 和 PostgreSQL)都使用相同的 SQL 添加列语法。
那么如何使用这个语句呢?
-
首先,您指定 ALTER TABLE 命令。
-
然后,在“table_name”的位置,指定要添加列的表。
-
然后你使用关键字 ADD
-
对于 PostgreSQL,您需要添加单词 COLUMN。对于其他数据库,它是可选的。
-
然后你指定新的列名,它写着“column_name”
-
然后为该列指定一个数据类型,它必须是数据库中可用的数据类型之一。
-
然后,您可以选择指定一个约束,例如 NOT NULL。
让我们看一些使用 SQL 添加新列的示例。
Oracle SQL 添加列示例
在Oracle中向表中添加列与其他数据库类似。主要区别在于您可以使用的数据类型。
例如,要将文本列添加到客户表中,语句可以使用 VARCHAR2 数据类型:
ALTER TABLE customerADD suburb VARCHAR2(100);
您可以指定一个约束,例如 NOT NULL:
ALTER TABLE customerADD suburb VARCHAR2(100) NOT NULL;
您还可以指定默认值:
ALTER TABLE customerADD suburb VARCHAR2(100) DEFAULT 'Central';
您也可以在单个 ALTER TABLE 命令中添加多个列。您只需将列详细信息括在括号中,并用逗号分隔。这与不需要括号的其他数据库略有不同。
ALTER TABLE customerADD ( suburb VARCHAR2(100), postcode VARCHAR2(20));
您可以指定不同的数据类型,具体取决于您要添加的列的类型。例如,要添加数值,您可能需要使用 NUMBER 数据类型。
ALTER TABLE customerADD credit_value NUMBER(10);
SQL Server 添加列示例
要向SQL Server中的表添加列,ALTER TABLE 语句的使用方式与其他数据库类似。
例如,将文本列添加到客户表是这样完成的:
ALTER TABLE customerADD suburb VARCHAR(100);
您还可以在数据类型之后指定约束,例如 NOT NULL:
ALTER TABLE customerADD suburb VARCHAR(100) NOT NULL;
要在单个命令中向表中添加多个列,请再次指定 ADD 关键字和列详细信息:
ALTER TABLE customerADD suburb VARCHAR(100),ADD postcode VARCHAR(20);
您也可以将数值添加到 SQL Server 中的表中。只需将数据类型替换为您要使用的类型即可:
ALTER TABLE customerADD credit_value INT;
MySQL 添加列示例
要向MySQL中的表添加新列,您可以使用 ALTER TABLE 语句,其方式与其他数据库类似。
例如,要将文本值添加到客户表:
ALTER TABLE customerADD COLUMN suburb VARCHAR(100);
关键字 COLUMN 实际上是可选的。该语句将执行相同的操作:
ALTER TABLE customerADD suburb VARCHAR(100);
您还可以在数据类型之后指定约束,例如 NOT NULL:
ALTER TABLE customerADD suburb VARCHAR(100) NOT NULL;
要在单个命令中向表中添加多个列,请再次指定 ADD 关键字和列详细信息:
ALTER TABLE customerADD suburb VARCHAR(100),ADD postcode VARCHAR(20);
您也可以添加其他数据类型,例如数字。
ALTER TABLE customerADD credit_value INT;
PostgreSQL 添加列示例
在PostgreSQL中添加新列与其他数据库类似。主要区别在于关键字 COLUMN 需要在 ADD 关键字之后使用。
例如,要将文本值添加到客户表:
ALTER TABLE customerADD COLUMN suburb VARCHAR(100);
您还可以在数据类型之后指定约束,例如 NOT NULL:
ALTER TABLE customerADD suburb VARCHAR(100) NOT NULL;
要在单个命令中向表中添加多个列,请再次指定 ADD 关键字和列详细信息:
ALTER TABLE customerADD suburb VARCHAR(100),ADD postcode VARCHAR(20);
以相同的方式向表中添加数字列:
ALTER TABLE customerADD credit_value INTEGER;
结论
ALTER TABLE 语句在 Oracle、SQL Server、MySQL 和 PostgreSQL 中用于对表执行许多操作,其中之一是添加新列。您可以通过指定 ALTER TABLE ADD COLUMN 来执行此操作。您可以指定名称、数据类型以及您希望对列施加的任何其他约束。
原文标题:SQL Add Column: A How-To Guide with Examples
原文作者:Ben Brumm
原文链接:https://www.databasestar.com/sql-add-column/




