Oracle SQL建表小结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle SQL建表小结一下例子在oracle 10g中运行成功。
一,create创表。
Create table 表名
(列名数据类型【列级别完整约束】,
列名数据类型【列级别完整约束】,。。。。。。。。。
【表级别的约束】
);
例子1
create table teacher
(id char(20) primary key,
name char(20) unique ,
sex char(4) constraint t_sex CHECK (sex='男'or sex='女'), age integer constraint t_age check (age >=1 and age <=300 ) );
例子2
create table Student
(Sno char(17) primary key,
Sname char(10) not null,
Sage integer ,
Ssex char(2),
Sdept char(20)
);
create table Course
(Cno char(5) primary key,
Cname char(20) not null,
CPNO char(5),
Ccredit integer ,
FOREIGN KEY CPNO REFERENCES Course(Cno)
);
create table SC
(Sno char(17),
Cno char(5),
Grade numeric(5,2),
primary key(Sno,Cno),
foreign key (Sno) references Student (Sno),
foreign key (Cno) references Course(Cno)
);
上面例子1是创建一个teacher 表以id为主键,名字唯一,性别约束只能是男或者女,年龄在0到300间。
例子2是创建学生表和课程表,然后建立SC。这里主要学习如何建立外键和组合主键。
对于表级别约束例子2中Cpno的值参考Cno。(Cpno是选课的id)
二,alter修改表
如果已经建好表了,但是又要添加列,约束。。。
--添加列
Alter table 表名add 列名数据类型
例子1 alter table course add Cdesc char(200);
--删除列
Alter table 表名drop column 列名
例子2 alter table course drop column cdesc;
--修改列的数据类型
Alter table 表名alter column 列名数据类型;
--修改字符串的长度
alter table course modify Cdesc char(500);
--修改主键
ALTER TABLE tablename --修改表
ADD CONSTRAINT tb_PRIMARY PRIMARY KEY CLUSTERED (列名) /*将你要设置为主键约束的列*/
--修改约束
ALTER TABLE 销售表--修改表
ADD CONSTRAINT ck_sl --创建检查约束
CHECK (数量>= 1 and 数量<= 10000) --添加约束条件
--修改外键alter table 表名
add constraint 外键名称foreign key (字段)
references 关系表名(关系表内字段)
例子alter table course add constraint cp foreign key (cpno) references course (cno);
--创建唯一约束
Alter table Course add unique (Cname)
--删除约束
Alter table 表名drop constraint 约束名
--启用约束
Alter table 表名enable constraint 约束名