本博客只讲到使用SQL进行表的创建、修改和删除等
表的创建与管理
一 对于表空间的编辑
1 创建表空间
create tablespace DATA01
datafile '/oracle/oradata/db/DATA01.dbf' SIZE 500M
UNIFORM SIZE 128k;//指定尺寸为128k,如不指定,默认为64k
2 修改表空间
alter tablespace my online;//使表空间联机
alter tablespace my read only;//使表空间只读
alter tablespace my read write;//使表空间可读写
3 删除表空间
drop tablespace DATA01 including contents and datafiles;
二 对表的编辑
1 创建表
create table student
(studentID char(6),
name varchar2(8),
sex char(2) default '男');//设置字段sex的默认值为 ‘男’
DESC student;//显示student表结构
2 修改表
alter table student
rename to new_student//修改表名
add (sdept varchar2(10),age int,birthday DATE)//向表中添加字段sdept,age,birthday
drop column (sex,age)//删除列sex,age
rename column sdept to new_sdept//修改sdept的字段名为new_sdept
3 删除表
drop table table_name;
4 查看表
select * from tab/dba_tables/dba_objects/cat;//查看表
select table_name from user_tables;//当前用户的表
select table_name from all_tables;//所有用户的表
select table_name from dba_tables;//包括系统表
5 向表中插入数据
//插入一条完整记录
insert into student(studentID,name,sex,birthday)
values('1102','张三','男','11-5月-1990');
或
insert into student
values('1102','张三','男','11-5月-1990');
//插入部分字段值
insert into student(studentID,name)
values('1101','李四');
或
insert into student
values('1102','张三',default,null);
6 修改表中的数据update student
set name='王五'
where studentID=‘1102’;
三 数据完整性的类型
1 域完整性
域完整性又称列完整性,制定一个数据集对某一个列是否有效并确定是否允许为空值。域完整性通常是经过使用有效性检查来实现的,还可以通过限制数据类型、格式或者可能的取值范围来实现。
2 实体完整性
实体完整性又称行完整性,要求表中的每一行有一个唯一的标志符,这个标志符就是主关键字。
3 参照完整性
参照完整性又称引用完整性。参照完整性保证主表中的数据与从表中的数据的一致性。
四 定义数据完整性
1 定义主键约束
create table student
(studentID char(6) primary key,
name varchar2(8),
sex char(2) default '男');
或
create table student
(studentID char(6) ,
name varchar2(8),
sex char(2) default '男',
primary key(studentID));//复合主键只能用这种
或
create table student
(studentID char(6) ,
primary key(studentID),
name varchar2(8),
sex char(2) default '男');
2 定义不允许为空约束
create table student
(studentID char(6) ,
primary key(studentID),
name varchar2(8) not null,
sex char(2) default '男');
3 定义唯一性约束
create table student
(studentID char(6) ,
primary key(studentID),
name varchar2(8) unique,
sex char(2) default '男');
4 定义检查约束
create table student
(studentID char(6) ,
primary key(studentID),
name varchar2(8),
age number(3) check(age>=18 and age<=30),
sex char(2) default '男');
5 定义外键约束
create table department
(deptID int primary key;
deptName varchar2(20));
create table student
(studentID char(6) ,
primary key(studentID),
name varchar2(8),
sex char(2) default '男',
deptID int references department(deptID));