使用 ALTER 修改 SQL 表

发布: (2026年3月29日 GMT+8 01:34)
1 分钟阅读
原文: Dev.to

Source: Dev.to

将列设为 NOT NULL

ALTER TABLE customers
ALTER COLUMN email SET NOT NULL;

添加唯一约束

ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);

添加检查约束

ALTER TABLE products
ADD CONSTRAINT check_price CHECK (price > 0);

设置默认值

ALTER TABLE orders
ALTER COLUMN status SET DEFAULT 'pending';

添加带约束的列

ALTER TABLE employees
ADD COLUMN salary DECIMAL(10,2) NOT NULL CHECK (salary > 10000);

管理带 ON DELETE CASCADE 的外键

-- Remove the existing foreign key constraint
ALTER TABLE employees
DROP CONSTRAINT employees_department_id_fkey;

-- Add a new foreign key with cascade delete
ALTER TABLE employees
ADD CONSTRAINT employees_department_id_fkey
FOREIGN KEY (department_id)
REFERENCES departments(id)
ON DELETE CASCADE;

删除检查约束

ALTER TABLE accounts
DROP CONSTRAINT accounts_balance_check;

查看表定义

\d accounts;

添加复合唯一约束

ALTER TABLE payments
ADD CONSTRAINT unique_user_transaction
UNIQUE (user_id, transaction_id);
0 浏览
Back to Blog

相关文章

阅读更多 »

CA 40 – 修改表

在 customers 表中将 email 设置为 NOT NULL,SQL:ALTER TABLE customers ALTER COLUMN email SET NOT NULL;确保以后插入的行必须包含 email 值。Make usern...

修改表

1. 将 customers 表的 email 列设为 NOT NULL:ALTER TABLE customers ALTER COLUMN email SET NOT NULL; 2. 确保 users 表的 username 唯一:ALTER TABLE …

ALTER 查询

在本次作业中,我使用 ALTER TABLE 对现有表进行修改。这帮助我了解了如何在不重新创建表的情况下更新约束。任务……