如何在PostgreSQL中向现有表添加列?
向现有表添加新列的语法非常简单。
ALTER TABLE table_name ADD COLUMN column_name column_type column_constraint;
假设您有一个名为marks的现有表。下面是一个例子:
序号 | 姓名 | 学号 | 获得分数 | 百分比分数 | 满分 | 录入日期 |
---|---|---|---|---|---|---|
1 | Yash | 26 | 42 | 42 | 100 | 2021-01-30 |
2 | Isha | 56 | 175 | 87.5 | 200 | 2021-01-30 |
现在,假设您想添加一个名为subject的列。您可以使用以下命令:
ALTER TABLE marks ADD COLUMN subject VARCHAR;
如果您再次使用以下命令查询表,
SELECT * from marks
您将看到以下**输出**:
序号 | 姓名 | 学号 | 获得分数 | 百分比分数 | 满分 | 录入日期 | 科目 |
---|---|---|---|---|---|---|---|
1 | Yash | 26 | 42 | 42 | 100 | 2021-01-30 | [空] |
2 | Isha | 56 | 175 | 87.5 | 200 | 2021-01-30 | [空] |
请注意,subject列中的值为空,因为我们只是创建了该列,并没有填充它。我们可以使用UPDATE语句填充它。语句语法如下:
UPDATE table_name SET column_name = column_value WHERE condition
例如,如果在上面的例子中,Yash在数学考试中得了42分,则UPDATE语句如下所示:
UPDATE marks SET subject 'Maths' WHERE roll_no = 26
您也可以添加name='Yash'条件而不是roll_no=26。现在,如果您查询该表,您将看到以下**输出**:
序号 | 姓名 | 学号 | 获得分数 | 百分比分数 | 满分 | 录入日期 | 科目 |
---|---|---|---|---|---|---|---|
1 | Yash | 26 | 42 | 42 | 100 | 2021-01-30 | 数学 |
2 | Isha | 56 | 175 | 87.5 | 200 | 2021-01-30 | [空] |
如果您在UPDATE语句中不添加任何条件,则该列的每一行的值都将更改。例如,如果我运行以下查询:
UPDATE marks SET subject = 'Science'
然后查询表,我将看到以下**输出**:
序号 | 姓名 | 学号 | 获得分数 | 百分比分数 | 满分 | 录入日期 | 科目 |
---|---|---|---|---|---|---|---|
1 | Yash | 26 | 42 | 42 | 100 | 2021-01-30 | 科学 |
2 | Isha | 56 | 175 | 87.5 | 200 | 2021-01-30 | 科学 |
广告