¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

ALTER TABLE

Name

ALTER TABLE  -- �ơ��֥�������ѹ�

Synopsis

ALTER TABLE [ ONLY ] table [ * ]
    ADD [ COLUMN ] column type [ column_constraint [ ... ] ]
ALTER TABLE [ ONLY ] table [ * ]
    DROP [ COLUMN ] column [ RESTRICT | CASCADE ]
ALTER TABLE [ ONLY ] table [ * ]
    ALTER [ COLUMN ] column { SET DEFAULT value | DROP DEFAULT }
ALTER TABLE [ ONLY ] table [ * ]
    ALTER [ COLUMN ] column { SET | DROP } NOT NULL
ALTER TABLE [ ONLY ] table [ * ]
    ALTER [ COLUMN ] column SET STATISTICS integer
ALTER TABLE [ ONLY ] table [ * ]
    ALTER [ COLUMN ] column SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
ALTER TABLE [ ONLY ] table [ * ]
    RENAME [ COLUMN ] column TO new_column
ALTER TABLE table
    RENAME TO new_table
ALTER TABLE [ ONLY ] table [ * ]
    ADD table_constraint
ALTER TABLE [ ONLY ] table [ * ]
    DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]
ALTER TABLE table
    OWNER TO new_owner 
  

����

table

�ѹ��оݤȤʤ��¸�Υơ��֥��̾���Ǥ� (�������޽���̾�ξ��⤢��ޤ�)�� ONLY �����ꤵ�줿��硢���Υơ��֥�Τߤ��ѹ�����ޤ��� ONLY �����ꤵ��Ƥ��ʤ���硢���Υơ��֥뤪��� (¸�ߤ������) �����Ѿ����뤹�٤ƤΥơ��֥뤬��������ޤ��� �Ѿ��ơ��֥뤬������󤵤�뤳�Ȥ�ɽ������ˡ��ơ��֥�̾�� * ���դ��뤳�Ȥ��Ǥ��ޤ��������ߤΥС������Ǥϡ��Ѿ��ơ��֥�Υ������ϥǥե���ȤǹԤ��ޤ��� (7.1 ������Υ�꡼���Ǥϡ�ONLY ���ǥե���ȤǤ�����) �ǥե��������ϡ�SQL_INHERITANCE ���ꥪ�ץ������ѹ��Ǥ��ޤ���

column

�����ޤ��ϴ�¸�����̾���Ǥ���

type

��������η��Ǥ���

new_column

��¸����ο�����̾���Ǥ���

new_table

�ơ��֥�ο�����̾���Ǥ���

table_constraint

�ơ��֥�ο������ơ��֥�����Ǥ���

constraint_name

��������¸�������̾���Ǥ���

new_owner

�ơ��֥�ο�������ͭ�ԤΥ桼��̾�Ǥ���

CASCADE

������줿�������˰�¸���Ƥ��륪�֥������� (���Ȥ��С�������줿��򻲾Ȥ��Ƥ���ӥ塼�ʤ�) �򡢼�ưŪ�˺�����ޤ���

RESTRICT

��¸���Ƥ��륪�֥������Ȥ������硢��ޤ�������κ���׵����ݤ��ޤ��� ���줬�ǥե���Ȥ�ư��Ǥ���

����

ALTER TABLE

��̾�ޤ��ϥơ��֥�̾���������줿�Ȥ��֤�����å������Ǥ���

ERROR

�ơ��֥�ޤ�����ͭ���Ǥʤ������֤�����å������Ǥ���

����

ALTER TABLE �ϴ�¸�Υơ��֥��������ѹ����ޤ��� ���Υ��ޥ�ɤˤϡ������Ĥ���°Ū�ʷ��� (���֥ե�����) ������ޤ���

ADD COLUMN

���η�������Ѥ���ȡ�CREATE TABLE ��Ʊ����ʸ��Ȥäƿ��������ơ��֥���ɲäǤ��ޤ���

DROP COLUMN

���η�������Ѥ���ȡ��ơ��֥뤫��������Ǥ��ޤ��� ����������ޤ�Ǥ��륤��ǥå�������ӥơ��֥�����⼫ưŪ�˺������뤳�Ȥ����դ��Ƥ��������� �ޤ������������˥ơ��֥볰�Τ�� (���Ȥ��С������������󡢥ӥ塼���ʤ�) ����¸���Ƥ����硢CASCADE ������դ���ɬ�פ�����ޤ���

SET/DROP DEFAULT

�����η�������Ѥ���ȡ���Υǥե�����ͤ�����ޤ��Ϻ���Ǥ��ޤ����ǥե���ȤϤ����ѹ���˹Ԥʤ��� INSERT ���ޥ�ɤΤߤ�Ŭ�Ѥ���뤳�Ȥ����դ��Ƥ��������� �ơ��֥���δ�¸�ιԤ��ѹ�����ޤ��� �ӥ塼�ˤ�ǥե���Ȥ������ǽ�Ǥ������ξ�硢�ӥ塼�� ON INSERT �롼�뤬Ŭ�Ѥ�������ˡ��ӥ塼�� INSERT ʸ�˥ǥե���Ȥ���������ޤ���

SET/DROP NOT NULL

�����η�������Ѥ���ȡ���� NULL �ͤ���ѤǤ��뤫�ɤ�������Ǥ��ޤ��� SET NOT NULL �ϡ����Υơ��֥����� NULL �ͤ��ҤȤĤ�ʤ����ˤΤ������ǽ�Ǥ���

SET STATISTICS

���η�������Ѥ���ȡ����ޥ�ɼ¹Ը�˹Ԥʤ��� ANALYZE ���ˤ����ơ��󤴤Ȥ����׾�������оݤ�����Ǥ��ޤ��� �оݤϡ�0 ���� 1,000 �ޤǤ��ϰϤ������ǽ�Ǥ����ޤ����оݤ� -1 �����ꤹ��ȡ������ƥ�Υǥե�������׾����оݤ����Ѥ���ޤ���

SET STORAGE

���η�������Ѥ���ȡ�����ݴɥ⡼�ɤ����ꤷ�ޤ��� ����ˤ�ꡢ������򥤥�饤����ݻ����뤫�����뤤����­�ơ��֥���ݻ����뤫���ޤ����ǡ����򰵽̤��뤫�ɤ���������Ǥ��ޤ��� PLAIN �ϡ�INTEGER �Τ褦�ʸ���Ĺ���ͤǡ�����饤����ݻ�����Ƥ��ư��̤���Ƥ��ʤ��ǡ����˻��Ѥ���ɬ�פ�����ޤ��� MAIN �ϡ�����饤����ݻ�����Ƥ��ơ����̲�ǽ�ʥǡ����˻��Ѥ��ޤ��� EXTERNAL �ϰ��̤���Ƥ��ʤ������ǡ����˻��Ѥ���EXTENDED �ϰ��̤��줿�����ǡ����˻��Ѥ��ޤ��� EXTENDED �ϡ�����򥵥ݡ��Ȥ��Ƥ��뤹�٤ƤΥǡ������ǤΥǥե���ȤǤ��� EXTERNAL ����Ѥ���ȡ�TEXT ����Ф�����ʬʸ����������®�������Ǥ��ޤ������ݴɥ��ڡ�����������Ȥ����ǥ��åȤ�����ޤ���

RENAME

RENAME ��������Ѥ���ȡ��ơ��֥� (�⤷���ϡ�����ǥå������������󥹡��ޤ��ϥӥ塼) ��̾���䡢�ơ��֥�θġ�����̾���ѹ��Ǥ��ޤ��� ��Ǽ����Ƥ���ǡ����ؤαƶ��Ϥ���ޤ���

ADD table_constraint

���η�������Ѥ���ȡ�CREATE TABLE ��Ʊ����ʸ��Ȥäƿ����������ơ��֥���ɲäǤ��ޤ���

DROP CONSTRAINT

���η�������Ѥ���ȡ��ơ��֥����������Ǥ��ޤ��� ���ߡ��ơ��֥������ϡ���դ�̾���Ǥ���ɬ�פϤ���ޤ��󡣤������äơ����ꤷ��̾���˰��פ������󤬡�ʣ��¸�ߤ����ǽ��������ޤ��� ���פ�������Ϥ��٤ƺ������ޤ���

OWNER

���η�������Ѥ���ȡ��ơ��֥롢����ǥå������������󥹡��ޤ��ϥӥ塼�ν�ͭ�Ԥ򡢻��ꤷ���桼�����ѹ��Ǥ��ޤ���

ALTER TABLE ���ޥ�ɤ���Ѥ���ˤϡ��ѹ�����ơ��֥���ͭ���Ƥ���ɬ�פ�����ޤ�����������ALTER TABLE OWNER ���ޥ�ɤ��㳰�Ǥ������Υ��ޥ�ɤϡ������ѡ��桼���Τ߼¹Բ�ǽ�Ǥ���

����

COLUMN������ɤϥΥ����Ǥ��ꡢ��ά��ǽ�Ǥ���

���ߤ� ADD COLUMN �μ����Ǥϡ���������Υǥե���Ȥ� NOT NULL ��ϥ��ݡ��Ȥ���ޤ��� ��������ϡ�ɬ�����٤Ƥ��ͤ� NULL �ͤǤ�����֤Ǻ�������ޤ��� �夫��ǥե�����ͤ����ꤹ��ˤϡ�ALTER TABLE �� SET DEFAULT ��������Ѥ��Ƥ��������� (�ޤ������Ǥ�¸�ߤ��Ƥ���Ԥ򿷤����ǥե�����ͤ˹���������ϡ�UPDATE ����Ѥ��Ƥ���������) ��� NULL �ͤ�����ʤ��褦�����ꤹ����ϡ����٤ƤιԤ���� NULL �Ǥʤ��ͤ����Ϥ����塢SET NOT NULL ��������Ѥ��Ƥ���������

DROP COLUMN ���ޥ�ɤ���Ѥ���ȡ�ʪ��Ū�ˤ�����������ˡ�ñ�� SQL ���������ԲĻ�ˤǤ��ޤ��� ���ޥ�ɼ¹Ը塢���Υơ��֥�������ޤ��Ϲ������Ԥʤ���ȡ���� NULL ����Ǽ����ޤ��� �������äơ���κ����û���֤ǹԤ��ޤ�����������������줿�����Ƥ������ڡ������ޤ��������Ƥ��ʤ����ᡢ�ơ��֥�Υǥ�������Υ������Ϥ����ˤϾ������ʤ�ޤ��� ���Υ��ڡ����ϡ����θ��¸�ιԤ����������ȡ��������ޤ��� �����˥��ڡ�����������ˤϡ��ʲ��Τ褦�ˤ��٤ƤιԤ˥��ߡ��� UPDATE ��¹Ԥ����Х��塼�ष�ޤ���

UPDATE table SET col = col;
VACUUM FULL table;
    

�ơ��֥�ˡ����Υơ��֥��Ѿ�����ơ��֥뤬�����硢�Ѿ����Ƥ���ơ��֥��Ʊ��������¹Ԥ��ʤ���С��ƥơ��֥����� ADD �⤷���� RENAME ��¹Ԥ��뤳�Ȥϵ��Ĥ���ޤ��󡣤ĤޤꡢALTER TABLE ONLY ���ޥ�ɤϼ����դ����ޤ��� �������¤ˤ�ꡢ�Ѿ����Ƥ���ơ��֥�Ǥϡ���˿ƥơ��֥���󤬰��פ��Ƥ��뤳�Ȥ��ݾڤ���ޤ���

�Ƶ�Ū�� DROP COLUMN ���Ǥϡ��Ѿ��ơ��֥뤬¾�οƥơ��֥뤫�餽�����Ѿ����Ƥ��餺�����ġ���Ω�������������äƤ��ʤ����ˤΤߡ����ηѾ��ơ��֥����������ޤ��� �Ƶ�Ū�Ǥʤ� DROP COLUMN (���Ȥ��С�ALTER TABLE ONLY ... DROP COLUMN �ʤ�) ����Ѥ��Ƥ⡢�Ѿ����Ƥ�����Ϻ���Ǥ��ޤ��󡣤������������������ˡ���������ϷѾ�����Ƥ��餺��Ω�����������Ƥ���ȤΥޡ�����Ĥ��ޤ���

�����ƥ५�������Υ������ޤΤ����ʤ���ʬ���ѹ����뤳�Ȥϵ��Ĥ���Ƥ��ޤ���

ͭ���ʰ����ξܤ��������� CREATE TABLE �򻲾Ȥ��Ƥ���������PostgreSQL �桼���������ˡ��Ѿ��˴ؤ��뤵��˾ܤ������󤬤���ޤ���

������ˡ

varchar �������ơ��֥���ɲä���ˤϡ��ʲ��Τ褦�ˤ��ޤ���

ALTER TABLE distributors ADD COLUMN address VARCHAR(30);
   

�ơ��֥뤫�����������ˤϡ��ʲ��Τ褦�ˤ��ޤ���

ALTER TABLE distributors DROP COLUMN address RESTRICT;
   

��¸�����̾�����Ѥ���ˤϡ��ʲ��Τ褦�ˤ��ޤ���

ALTER TABLE distributors RENAME COLUMN address TO city;
   

��¸�Υơ��֥��̾�����ѹ�����ˤϡ��ʲ��Τ褦�ˤ��ޤ���

ALTER TABLE distributors RENAME TO suppliers;
   

NOT NULL ���������ɲä���ˤϡ��ʲ��Τ褦�ˤ��ޤ���

ALTER TABLE distributors ALTER COLUMN street SET NOT NULL;
   

NOT NULL ������󤫤�������ˤϡ��ʲ��Τ褦�ˤ��ޤ���

ALTER TABLE distributors ALTER COLUMN street DROP NOT NULL;
   

�ơ��֥�� CHECK ������ɲä���ˤϡ��ʲ��Τ褦�ˤ��ޤ���

ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5);
   

�ơ��֥�Ȥ��λҥơ��֥뤫�� CHECK �����������ˤϡ��ʲ��Τ褦�ˤ��ޤ���

ALTER TABLE distributors DROP CONSTRAINT zipchk;
   

�������������ơ��֥���ɲä���ˤϡ��ʲ��Τ褦�ˤ��ޤ���

ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses(address) MATCH FULL;
   

�ơ��֥��(ʣ�����)�����������ɲä���ˤϡ��ʲ��Τ褦�ˤ��ޤ���

ALTER TABLE distributors ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode);
   

��ưŪ��̿̾�����ץ饤�ޥꥭ�������ơ��֥���ɲä��ޤ��� �ơ��֥�� 1 �ĤΤߤΥץ饤�ޥꥭ���������Ĥ��Ȥ��Ǥ��ʤ����ˤ����դ��Ʋ�������

ALTER TABLE distributors ADD PRIMARY KEY (dist_id);
   

�ߴ���

SQL92

ADD COLUMN �����ϡ���ҤΤ褦�˥ǥե���Ȥ� NOT NULL ����򥵥ݡ��Ȥ��ʤ��Ȥ����㳰�Ϥ���ޤ�������§�˽��äƤ��ޤ���ALTER COLUMN �����ϴ����˵�§�ɤ���Ǥ���

�ơ��֥롢�󡢥���ǥå������������󥹤�̾�����ѹ������� SQL92 ����� PostgreSQL �γ�ĥ�Ǥ���