ORALCE 表的一般操作 添加列、删除列、修改列 添加外键、删除外键
oracle 表的一般操作
1、创建表 包括创建主、外键约束 表、列注释
单一主键
create table A(
id NVARCHAR2(36) CONSTRAINT service_tempa PRIMARY KEY,
A01 NUMBER DEFAULT 0, --默认值
A02 DATE
);
复合主键
create table A(
id NVARCHAR2(36) NOT NULL ENABLE
A01 NUMBER DEFAULT 0,
A02 DATE,
constraint s primary key(id,A01)
);
单一外键
create table A(
id NVARCHAR2(36) NOT NULL ENABLE, --enable 是否有效, disable 无效
A01 NUMBER DEFAULT 0, --默认值
A02 NVARCHAR2(36) REFERENCES B(ID), --外键
A03 DATE,
CONSTRAINT AId PRIMARY KEY (id)
);
复合外键(略)
列上面 的约束 (check 约束、唯一、非空)
不带约束名称
create table AA01(
id NVARCHAR2(36) NOT NULL ENABLE, --enable 是否有效, disable 无效
A0101 NUMBER DEFAULT 0, --默认值
A0102 NVARCHAR2(36) not null, --非空约束
codeID NVARCHAR2(18) unique --唯一约束
A0103 DATE,
sex char(1) check(sex in ('0','1')), --check约束
CONSTRAINT AId PRIMARY KEY (id)
);
带约束名称
create table AA01(
id NVARCHAR2(36) NOT NULL ENABLE, --enable 是否有效, disable 无效
A0101 NUMBER DEFAULT 0, --默认值
A0102 NVARCHAR2(36) NOT NULLl, --非空约束
codeID NVARCHAR2(18) UNIQUE, --唯一约束
A0103 DATE,
sex CHAR(1) CHECK(sex in ('0','1')), --check约束
CONSTRAINT AId PRIMARY KEY (id)
);
列模式(把约束写成和列平行的)
create table AA03(
id NVARCHAR2(36) ,
A0101 NUMBER ,
A0102 NVARCHAR2(36) ,
codeID NVARCHAR2(18) ,
A0103 DATE,
constraint id_pk2 primary key(id), --主键
--constraint name_nn2 not null (codeID), --列模式没办法 添加非空约束
constraint email_uqe2 unique(codeID) , --唯一约束 可以一次添加多个 constraint email_uqe unique(codeID,A0103)
constraint dept_deptno_ref foreign key (A0102) references AA02(id)
);
Alter 模式
create table AA04(
id NVARCHAR2(36) ,
A0101 NUMBER ,
A0102 NVARCHAR2(36) ,
codeID NVARCHAR2(18) ,
A0103 DATE
);
alter table AA04 add constraint x1 primary key (id); --主键
alter table AA04 add constraint x2 unique (A0102); --唯一
alter table AA04 add constraint x3 foreign key (A0102) references AA02(id); --外键
2、创建表 添加注释
CREATE TABLE num_service_temp (
id NVARCHAR2(36) NOT NULL ENABLE,
qxcode NVARCHAR2(7),
allnum NUMBER DEFAULT 0,
neworgnum NUMBER DEFAULT 0,
servicenum NUMBER DEFAULT 0,
ssjorgnum NUMBER DEFAULT 0,
exectutetime date,
CONSTRAINT service_temp PRIMARY KEY (id)
);
comment on table num_service_temp is '各区县企业数临时表';
comment on column num_service_temp.id is '主键';
comment on column num_service_temp.qxcode is '区县代码';
comment on column num_service_temp.allnum is '区县企业总数量';
comment on column num_service_temp.neworgnum is '区县本月新增企业数';
comment on column num_service_temp.servicenum is '区县白名单企业总数';
comment on column num_service_temp.ssjorgnum is '区县黑名单企业总数';
3、动态的修改表
3.1 操作列
增加列
alter table AA03 add (age NUMBER default 0) --增加一列 括号可以没有
alter table AA03 add (age NUMBER default 0,name varchar2(30) not null); --增加多列 必须加括号
删除列
alter table AA03 drop column name; --删除一列 请注意!!!删除一列的时候有关键字 column
alter table AA03 drop (age,name); --删除多列
修改列
修改列名称
alter table AA03 rename column name to newName;
修改列类型
alter table AA03 modify (name nvarchar2(20)); --修改一列
alter table AA03 modify (name nvarchar2(20)); --修改多列
3.2 操作约束
新增约束
alter table AA04 add constraint x3 foreign key (A0102) references AA02(id); --外键
删除约束
alter table AA03 drop constraint email_uqe2
还没有评论,来说两句吧...