ALTER TABLE ???

The ALTER TABLE ??????????????????????????????????????????
  • ???????????????????????????
  • ??????????????????????????????
  • ???????????????????????????
  • ????????????????????????????????????
  • VARCHAR, CHAR VARYING, and CHARACTER VARYING ????????????????????????
  • ??????????????????????????????????????????????????????????????????(??????????????????????????????????????????????????????)
  • ??????????????????????????????????????????????????????
  • ??????Null????????????????????????????????????
  • ?????????????????????????????????

??????

ALTER TABLE ??????
{
    ADD COLUMN ????????? |
    ADD CONSTRAINT??? |
    DROP [ COLUMN ] ?????? [ CASCADE | RESTRICT ]
    DROP { PRIMARY KEY | FOREIGN KEY ????????? | UNIQUE 
	 ????????? | CHECK ????????? | CONSTRAINT ????????? }
    ALTER [ COLUMN ] ??????????????? |
    LOCKSIZE { ROW | TABLE }
}

?????????

???????????? ????????????
[ ??????????????? ]*
[ [ WITH ] DEFAULT ??????????????? ]

????????????????????????????????????????????????????????????????????????????????????

???????????????

?????? SET DATA TYPE VARCHAR(integer) |
column-name SET INCREMENT BY ????????? |
column-name RESTART WITH ????????? |
column-name [ NOT ] NULL |
column-name [ WITH ] DEFAULT ????????? 

??????????????????SET INCREMENT BY ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????IDENTITY?????????????????????????????????????????????????????????

RESTART WITH ???????????????????????????????????????????????????????????????????????????RESTART WITH??????GENERATED BY DEFAULT?????????????????????????????????????????????????????????????????????????????????????????????GENERATED BY DEFAULT?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????RESTART WITH????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
CREATE TABLE tauto(i INT GENERATED BY DEFAULT AS IDENTITY, k INT)
CREATE UNIQUE INDEX tautoInd ON tauto(i)
INSERT INTO tauto(k) values 1,2
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
INSERT INTO tauto VALUES (3,3)
INSERT INTO tauto VALUES (4,4)
INSERT INTO tauto VALUES (5,5)
?????????????????????????????????1??????5??????????????????????????????????????????????????????????????????????????????????????????????????????3??????????????????????????????????????????????????????????????????????????????????????????????????????3????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????RESTART WITH 6 ???ALTER TABLE????????????????????????
ALTER TABLE tauto ALTER COLUMN i RESTART WITH 6

ALTER TABLE ??????????????????????????????????????????????????????????????????????????????SELECT?????????"*"???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

????????????

????????????????????????????????????????????????CREATE TABLE?????????????????????????????????????????????????????????ALTER TABLE ADD COLUMN????????????????????????????????????????????????????????????????????????????????????????????????NOT NULL??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????ALTER TABLE?????????????????????????????????????????????????????????

CREATE TABLE?????????????????????????????????????????????????????????????????????????????????null?????????????????????????????????????????????????????????NOT NULL????????????????????????(SQLSTATE 42831)

???: ????????????????????????????????????????????????UPDATE???????????????????????????????????????????????????????????????????????????????????????????????????UPDATE????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????

ALTER TABLE ADD CONSTRAINT????????????????????????????????????????????????????????????????????????????????????????????????????????????ALTER TABLE?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
  • ????????????????????????????????????????????????????????????????????????Derby??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Derby??????????????????????????????????????????????????????
  • ??????????????????????????????????????????null??????????????????????????????????????????????????????????????????????????????????????????

    ALTER TABLE ADD UNIQUE???PRIMARY KEY?????????????????????????????????????????????????????????????????????????????????????????????PRIMARY KEY???C???????????????????????????????????????????????????????????????PRIMARY KEY(C)?????????????????????????????????????????????????????????null??????????????????????????????????????????NOT NULL???????????????????????????????????????????????????

??????????????????????????????????????????CONSTRAINT ?????????????????????????????? ADD TABLE ADD CONSTRAINT???????????????????????????????????????????????????????????????????????????????????????????????????????????????

????????????

ALTER TABLE DROP COLUMN????????????????????????????????????????????????

COLUMN????????????????????????????????????????????????????????????

CASCADE???RESTRICT???????????????????????????????????????????????????????????????????????????????????????CASCADE?????????

RESTRICT??????????????????????????????????????????????????????????????????????????????????????????????????????????????????

CASCADE???????????????????????????????????????????????????????????????????????????????????????????????????

DROP COLUMN RESTRICT???????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????DROP COLUMN RESTRICT?????????????????????

???????????????????????????????????????????????????????????????????????????

sqlAuthorization?????????????????????????????????????????????????????????????????????(DERBY-1909??????????????????????????????) )

?????????????????????????????????????????????????????????????????????????????????CASCADE/RESTRICT?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????

ALTER TABLE DROP CONSTRAINT????????????????????????????????????????????????????????????????????????????????????????????????????????????SYS.SYSCONSTRAINTS??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????(???????????????????????????????????????????????????)

????????????

????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
  • VARCHAR????????????????????????????????????????????????VARCHAR??????????????????????????????????????????CHARACTER VARYING???CHAR VARYING?????????????????????????????????

    ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????

    ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

  • ????????????????????????????????????????????????????????????????????????????????????

    ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????(SQLSTATE 42837)?????????????????????????????????????????????SET INCREMENT default????????????????????????????????????????????????

  • ??????Null????????????????????? ??????Null????????????????????????????????????????????????

    NOT NULL??????????????????????????????????????????????????????????????????????????????????????????NULL?????????????????????????????????????????????????????????

    NOT NULL???????????????????????????????????????????????????????????????????????????????????????????????????PRIMARY KEY???UNIQUE?????????????????????????????????????????????????????????????????????

  • ??????????????????????????????

??????????????????

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????NULL????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????????????????????????????????????????CREATE TABLE ?????????????????????????????????

??????????????????????????????

??????????????????????????????????????????????????????????????????????????????????????????????????????LOCKSIZE??????????????????????????????????????????????????????????????????????????????(???????????????????????????????????????????????????????????????????????????????????????????????????Derby???LOCKSIZE?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????) ????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????ALTER TABLE?????????LOCKSIZE?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Derby???????????????????????????????????????????????????

???

-- ???????????????????????????????????????????????????????????????
-- ?????????????????????????????????????????????????????????NULL??????????????????
-- ????????????????????????
ALTER TABLE CITIES ADD COLUMN REGION VARCHAR(26)
CONSTRAINT NEW_CONSTRAINT CHECK (REGION IS NOT NULL);

-- ????????????????????????????????????????????????
-- ???????????????????????????????????????????????????????????????
ALTER TABLE SAMP.DEPARTMENT
ADD CONSTRAINT NEW_UNIQUE UNIQUE (DEPTNO);

-- Cities??????????????????????????????????????????
-- ?????????????????????????????????????????????
-- ????????????????????????????????????????????????????????????
-- ??????????????????????????????
ALTER TABLE CITIES ADD CONSTRAINT COUNTRY_FK
Foreign Key (COUNTRY) REFERENCES COUNTRIES (COUNTRY);

-- ???????????????????????????????????????
-- ?????????????????????????????????
CREATE TABLE ACTIVITIES (CITY_ID INT NOT NULL,
SEASON CHAR(2), ACTIVITY VARCHAR(32) NOT NULL);
-- ??????????????????????????????null????????????????????????????????????
-- ???????????????????????????????????????????????????
ALTER TABLE Activities ADD PRIMARY KEY (city_id, activity);

-- ??????????????????????????????????????????city_id????????????????????????
ALTER TABLE Cities DROP COLUMN city_id RESTRICT;
-- ?????????????????????????????????city_id????????????????????????
ALTER TABLE Cities DROP COLUMN city_id CASCADE;

-- CITIES???????????????????????????????????????
ALTER TABLE Cities DROP CONSTRAINT Cities_PK;
-- CITIES??????????????????????????????????????????
ALTER TABLE Cities DROP CONSTRAINT COUNTRIES_FK;
-- ????????????1?????????DEPTNO?????????????????????
ALTER TABLE SAMP.EMP_ACT ADD COLUMN DEPTNO INT DEFAULT 1;
-- VARCHAR???????????????????????????
ALTER TABLE SAMP.EMP_PHOTO ALTER PHOTO_FORMAT SET DATA TYPE VARCHAR(30);
-- ???????????????????????????????????????
ALTER TABLE SAMP.SALES LOCKSIZE TABLE;

-- MANAGER??????NOT NULL????????????????????????
ALTER TABLE Employees ALTER COLUMN Manager NULL;
-- SSN??????NOT NULL????????????????????????
ALTER TABLE Employees ALTER COLUMN ssn NOT NULL;

-- SALARY?????????????????????????????????
ALTER TABLE Employees ALTER COLUMN Salary DEFAULT 1000.0

????????????

ALTER TABLE ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????ALTER TABLE???????????????????????????