SQL ADD COLUMN

摘要:在本教程中,你将学习如何使用 ALTER TABLE 语句的 SQL ADD COLUMN 子句向现有表添加一个或多个列。

SQL ADD COLUMN 子句概述

若要向表添加新列,请按如下方式使用 ALTER TABLE ADD COLUMN 语句

ALTER TABLE table_name
ADD [COLUMN] column_definition;
Code language: SQL (Structured Query Language) (sql)

在此语句中,

  • 首先,指定要为其添加新列的表。
  • 其次,在 ADD COLUMN 子句后指定列定义。

column_definition 的典型语法如下

column_name data_type constraint;
Code language: SQL (Structured Query Language) (sql)

如果要使用单个语句向现有表添加多列,请使用以下语法

ALTER TABLE table_name
ADD [COLUMN] column_definition,
ADD [COLUMN] column_definition,
 ...;
Code language: SQL (Structured Query Language) (sql)

不同的数据库系统以一些细微差别支持 ALTER TABLE ADD COLUMN 语句。请查看下一部分以了解参考。

SQL ADD COLUMN示例

以下语句创建一个名为 candidates 的新表

CREATE TABLE candidates (
    id INT PRIMARY KEY,
    first_name VARCHAR(100) NOT NULL,
    last_name VARCHAR(100) NOT NULL,
    email VARCHAR(255) NOT NULL UNIQUE
);
Code language: SQL (Structured Query Language) (sql)

为了向 candidates 表添加 phone 列,请使用以下语句

ALTER TABLE candidates
ADD COLUMN phone VARCHAR(50);
Code language: SQL (Structured Query Language) (sql)

若要向 candidates 表添加家庭地址、出生日期和 linkedin 帐户这三列,请使用以下语句

ALTER TABLE candidates
ADD COLUMN home_address VARCHAR(255),
ADD COLUMN dob DATE,
ADD COLUMN linkedin_account VARCHAR(255);
Code language: SQL (Structured Query Language) (sql)

一些常见数据库系统中的 SQL ADD COLUMN 语句

以下部分为你提供一些常见数据库系统中 ALTER TABLE ADD COLUMN 语句的语法。

PostgreSQL

在 PostgreSQL 中向表中添加一列:

ALTER TABLE table_name
ADD COLUMN column_definition;
Code language: SQL (Structured Query Language) (sql)

在 PostgreSQL 中向表中添加多列

    ALTER TABLE table_name
    ADD COLUMN column_definition,
    ADD COLUMN column_definition,
    ...
    ADD COLUMN column_definition;
Code language: SQL (Structured Query Language) (sql)

MySQL

在 MySQL 中向表中添加一列:

    ALTER TABLE table_name
    ADD [COLUMN] column_definition;
Code language: SQL (Structured Query Language) (sql)

在 MySQL 中向表中添加多列

    ALTER TABLE table_name
    ADD [COLUMN] column_definition,
    ADD [COLUMN] column_definition,
    ...
    ADD [COLUMN] column_definition;
Code language: SQL (Structured Query Language) (sql)

Oracle

在 Oracle 中向表中添加一列:

ALTER TABLE table_name
ADD column_definition;
Code language: SQL (Structured Query Language) (sql)

在 Oracle 中向表中添加多列

ALTER TABLE table_name 
ADD (
    column_definition,
    column_definition,
    ...
);
Code language: SQL (Structured Query Language) (sql)

SQL Server

在 SQL Server 中向表中添加一列:

ALTER TABLE table_name
ADD column_definition;
Code language: SQL (Structured Query Language) (sql)

在 SQL Server 中向表中添加多列

ALTER TABLE table_name
ADD
    column_definition,
    column_definition,
    ...;
Code language: SQL (Structured Query Language) (sql)

SQLite

在 SQLite 中向表中添加一列

ALTER TABLE table_name
ADD COLUMN column_definition;
Code language: SQL (Structured Query Language) (sql)

SQLite 不支持使用单个语句向表中添加多列。若要向表中添加多列,必须执行多个 ALTER TABLE ADD COLUMN 语句。

DB2

在 DB2 中向表中添加一列

ALTER TABLE table_name
ADD column_definition;
Code language: SQL (Structured Query Language) (sql)

在 DB2 中向表中添加多列

ALTER TABLE table_name
ADD
    column_definition
    column_definition
    ...;
Code language: SQL (Structured Query Language) (sql)

请注意,列之间没有逗号。

在本教程中,你已经了解了 ALTER TABLE 语句的 SQL ADD COLUMN 子句,用于向现有表中添加一个或多个列。

本教程是否有用?