ORALCE 表的一般操作 添加列、删除列、修改列 添加外键、删除外键

浅浅的花香味﹌ 2024-02-17 22:45 139阅读 0赞

oracle 表的一般操作

1、创建表 包括创建主、外键约束 表、列注释

单一主键

  1. create table A(
  2. id NVARCHAR2(36) CONSTRAINT service_tempa PRIMARY KEY,
  3. A01 NUMBER DEFAULT 0, --默认值
  4. A02 DATE
  5. );

复合主键

  1. create table A(
  2. id NVARCHAR2(36) NOT NULL ENABLE
  3. A01 NUMBER DEFAULT 0,
  4. A02 DATE,
  5. constraint s primary key(id,A01)
  6. );

单一外键

  1. create table A(
  2. id NVARCHAR2(36) NOT NULL ENABLE, --enable 是否有效, disable 无效
  3. A01 NUMBER DEFAULT 0, --默认值
  4. A02 NVARCHAR2(36) REFERENCES B(ID), --外键
  5. A03 DATE,
  6. CONSTRAINT AId PRIMARY KEY (id)
  7. );

复合外键(略)

列上面 的约束 (check 约束、唯一、非空)

不带约束名称

  1. create table AA01(
  2. id NVARCHAR2(36) NOT NULL ENABLE, --enable 是否有效, disable 无效
  3. A0101 NUMBER DEFAULT 0, --默认值
  4. A0102 NVARCHAR2(36) not null, --非空约束
  5. codeID NVARCHAR2(18) unique --唯一约束
  6. A0103 DATE,
  7. sex char(1) check(sex in ('0','1')), --check约束
  8. CONSTRAINT AId PRIMARY KEY (id)
  9. );

带约束名称

  1. create table AA01(
  2. id NVARCHAR2(36) NOT NULL ENABLE, --enable 是否有效, disable 无效
  3. A0101 NUMBER DEFAULT 0, --默认值
  4. A0102 NVARCHAR2(36) NOT NULLl, --非空约束
  5. codeID NVARCHAR2(18) UNIQUE, --唯一约束
  6. A0103 DATE,
  7. sex CHAR(1) CHECK(sex in ('0','1')), --check约束
  8. CONSTRAINT AId PRIMARY KEY (id)
  9. );

列模式(把约束写成和列平行的)

  1. create table AA03(
  2. id NVARCHAR2(36) ,
  3. A0101 NUMBER ,
  4. A0102 NVARCHAR2(36) ,
  5. codeID NVARCHAR2(18) ,
  6. A0103 DATE,
  7. constraint id_pk2 primary key(id), --主键
  8. --constraint name_nn2 not null (codeID), --列模式没办法 添加非空约束
  9. constraint email_uqe2 unique(codeID) , --唯一约束 可以一次添加多个 constraint email_uqe unique(codeIDA0103)
  10. constraint dept_deptno_ref foreign key (A0102) references AA02(id)
  11. );

Alter 模式

  1. create table AA04(
  2. id NVARCHAR2(36) ,
  3. A0101 NUMBER ,
  4. A0102 NVARCHAR2(36) ,
  5. codeID NVARCHAR2(18) ,
  6. A0103 DATE
  7. );
  8. alter table AA04 add constraint x1 primary key (id); --主键
  9. alter table AA04 add constraint x2 unique (A0102); --唯一
  10. alter table AA04 add constraint x3 foreign key (A0102) references AA02(id); --外键

2、创建表 添加注释

  1. CREATE TABLE num_service_temp (
  2. id NVARCHAR2(36) NOT NULL ENABLE,
  3. qxcode NVARCHAR2(7),
  4. allnum NUMBER DEFAULT 0,
  5. neworgnum NUMBER DEFAULT 0,
  6. servicenum NUMBER DEFAULT 0,
  7. ssjorgnum NUMBER DEFAULT 0,
  8. exectutetime date,
  9. CONSTRAINT service_temp PRIMARY KEY (id)
  10. );
  11. comment on table num_service_temp is '各区县企业数临时表';
  12. comment on column num_service_temp.id is '主键';
  13. comment on column num_service_temp.qxcode is '区县代码';
  14. comment on column num_service_temp.allnum is '区县企业总数量';
  15. comment on column num_service_temp.neworgnum is '区县本月新增企业数';
  16. comment on column num_service_temp.servicenum is '区县白名单企业总数';
  17. comment on column num_service_temp.ssjorgnum is '区县黑名单企业总数';

3、动态的修改表

3.1 操作列

增加列

  1. alter table AA03 add (age NUMBER default 0) --增加一列 括号可以没有
  2. alter table AA03 add (age NUMBER default 0,name varchar2(30) not null); --增加多列 必须加括号

删除列

  1. alter table AA03 drop column name; --删除一列 请注意!!!删除一列的时候有关键字 column
  2. alter table AA03 drop (age,name); --删除多列

修改列

修改列名称

  1. alter table AA03 rename column name to newName;

修改列类型

  1. alter table AA03 modify (name nvarchar2(20)); --修改一列
  2. alter table AA03 modify (name nvarchar2(20)); --修改多列

3.2 操作约束

新增约束

  1. alter table AA04 add constraint x3 foreign key (A0102) references AA02(id); --外键

删除约束

  1. alter table AA03 drop constraint email_uqe2

发表评论

表情:
评论列表 (有 0 条评论,139人围观)

还没有评论,来说两句吧...

相关阅读