5.6. �޸ı�

����㴴����һ��������Լ�����һЩ���󣬻�����Ӧ�õ����� �����˱仯����ô�����ɾ�������Ȼ�����´����������������� ���Ѿ�����˺ö������ˣ������Ǹñ��Ѿ����������ݿ�������ã� ������һ�����Լ���� ����ɲ���һ�������ѡ���� PostgreSQL �ṩ��һ�����������޸����б�

�����

������Щ���������� ALTER TABLE ����ִ�еġ�

5.6.1. �����ֶ�

Ҫ����һ���ֶΣ�ʹ���������

ALTER TABLE products ADD COLUMN description text;

�������ֶζ��ڱ����Ѿ����ڵ��ж���������������������ȱʡֵ �������û������DEFAULT�Ӿ䣬��ôȱʡ�ǿ�ֵ����

��Ҳ����ͬʱ�ڸ��ֶ��϶���Լ����ʹ��ͨ�����﷨��

ALTER TABLE products ADD COLUMN description text CHECK (description <> '');

ʵ���ϣ������ڡ�CREATE TABLE���������Ŀ���Ӧ�����ֶ�֮ѡ�����������ʹ�á� ����������Ҫע�����ȱʡֵ�������������Լ��������ADD������ʧ�ܡ� ���⣬�����������ȷ��������ֶε���ֵ֮��������Լ���������ģ���

5.6.2. ɾ���ֶ�

Ҫɾ��һ���ֶΣ�ʹ��������

ALTER TABLE products DROP COLUMN description;

5.6.3. ����Լ��

Ҫ����һ��Լ����ʹ�ñ�Լ���﷨�����磺

ALTER TABLE products ADD CHECK (name <> '');
ALTER TABLE products ADD CONSTRAINT some_name UNIQUE (product_no);
ALTER TABLE products ADD FOREIGN KEY (product_group_id) REFERENCES product_groups;

Ҫ����һ������д�ɱ�Լ���ķǿ�Լ����ʹ�������﷨��

ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;

���Լ�����������м�飬���Ա������Լ��֮ǰ�������Լ��������

5.6.4. ɾ��Լ��

Ҫɾ��һ��Լ��������Ҫ֪���������֡�����������һ�����֣� ��ô����ͺð��ˡ�����ϵͳ�����һ�����ɵ����֣����������Ҫ �����ҳ����ˡ�psql ������ \d tablename ��������԰�æ�� �����ӿڿ���Ҳ�ṩ�˼����ϸ�ڵķ�����Ȼ������������

ALTER TABLE products DROP CONSTRAINT some_name;

��������ڴ���һ�����ɵ�Լ���������� $2������������Ҫ���� ���˫���ţ�������Ϊһ����Ч�ı�ʶ������

���˷ǿ�Լ���⣬����Լ�����Ͷ���ô�á�Ҫɾ���ǿ����ͣ���

ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;

��Ҫ�ǵ÷ǿ�Լ��û�����֡���

5.6.5. �ı�һ���ֶε�ȱʡֵ

Ҫ��һ���ֶ�����ȱʡֵ��ʹ��һ�����������������

ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77;

��ע����ô������Ӱ���κα������е������У� ��ֻ��Ϊ������INSERT������ı�ȱʡֵ��

Ҫɾ��ȱʡֵ����

ALTER TABLE products ALTER COLUMN price DROP DEFAULT;

�����൱�ڰ�ȱʡ����Ϊ�ա� ����ǣ��������ɾ��һ����û�ж����ȱʡֵ���������Ϊȱʡ�������ǿ�ֵ��

5.6.6. �޸�һ���ֶε���������

��һ���ֶ�ת��������һ���������ͣ�ʹ����������

ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);

ֻ�����ֶ������е�ÿ���������һ������������ת��ת�����µ�����ʱ�ſ��ܳɹ��� �����Ҫ�����ӵ�ת�������������һ�� USING �Ӿ䣬��������δӾ�ֵ�������ֵ��

PostgreSQL ����ͼ���ֶε�ȱʡֵ��������ڣ�ת�����µ����ͣ� �����漰���ֶε��κ�Լ����������Щת������ʧ�ܣ����߿���������ֵĽ���� ���޸�ij�ֶ�����֮ǰ�������ɾ����ЩԼ����Ȼ���ٰ��Լ��ֹ��޸Ĺ��������ȥ��

5.6.7. ���ֶθ�����

������һ���ֶΣ�

ALTER TABLE products RENAME COLUMN product_no TO product_number;

5.6.8. ���ֶθ�����

��һ���ֶ���������

ALTER TABLE products RENAME COLUMN product_no TO product_number;

5.6.9. ���������

��һ������������

ALTER TABLE products RENAME TO items;