1. 有命名的主键添加、删除、修改

1.1 建表时添加名为PK_TABLE_NAME的主键

  1. CREATE TABEL table_name(
  2. id INT NOT NULL,
  3. name VARCHAR2(30),
  4. age INT,
  5. CONSTRAINT PK_TABLE_NAME PRIMARY KEY(id)
  6. );

1.2 建表后添加名为PK_TABLE_NAME的主键

  1. ALTER TABLE table_name ADD CONSTRAINT PK_TABLE_NAME PRIMARY KEY(id);

1.3 删除名为PK_TABLE_NAME的主键

  1. ALTER TABLE table_name DROP CONSTRAINT PK_TABLE_NAME;

1.4 修改名为PK_TABLE_NAME的主键

注意:修改主键操作,只能是先删除主键,再新增主键。

2.无命名的主键添加、删除、修改

2.1 建表时添加无命名的主键

  1. CREATE TABEL table_name(
  2. id INT NOT NULL,
  3. name VARCHAR2(30),
  4. age INT,
  5. PRIMARY KEY(id)
  6. );

2.2 建表后添加无命名的主键

  1. ALTER TABLE table_name ADD PRIMARY KEY(id);

2.3 删除无命名的主键

  • 先查询主键名

    1. SELECT t.* FROM USER_CONS_COLUMNS t
    2. WHERE t.TABLE_NAME = 'TABLE_NAME' and t.POSITION IS NOT NULL;
  • 再执行删除操作

    1. ALTER TABLE table_name DROP CONSTRAINT SYS_C1226078;

    2.4 修改无命名的主键

    注意:修改主键操作,只能是先删除主键,再新增主键。