Oracle表基础

1.表创建

2.约束

3.修改表

4.表的其他操作

常用的列的类型

a.字符:CHAR VARCHAR VARCHAR2(oracle特有)

b.数值:NUMERIC  NUMER(oracle特有)

c.大对象:BLOB(二进制)  CLOB(字符)

 

1.表创建

第一种直接创建

CREATE TABLE dept(

      depno NUMBER(2,0),

      dname VARCHAR(32),

      LOC VARCHAR(64) 'abc'

 );

第二种通过子查询,复制表

 CREATE TABLE dept1

AS 

 SELECT * FROM dept;

只复制表结构:

CREATE TABLE DEPT2

AS

SELECT * FROM dept

WHERE 1=0

 

2.约束

a.数据库在表定义上实施的用于维护数据完整性的一些规则;

b.按定义位置分:表级别约束、列级别约束;

c.按特征分:主键、外键、非空、唯一、检查五种约束

  列级别约束:

 CREATE TABLE DEPT2(

      deptno number(2) dept2_deptno_pk primary key,

      dname varchar2(12) unique,

      loc varchar(16)

)

  表级别约束:

 CREATE  TABLE EMP2(

             empno number(2),

             ename varchar2(12) not null,

              jobs varchar2(12),

              sal number(4) check(sal>1200),

              deptno number(12),

              constraint emp2_empo_pk primary key(empno),

              constraint emp2_empo_fk foreign  key(deptno) references dpt2(deptno)

);

列的操作:
   删除列
alter table emp2
drop(列名1,列名2,...);

   增加列
alter table emp2
add borndate date default sysdate;

  修改列
alter tabe empw
modify job varchar2(24);

   约束的添加和删除:
select constraint_name,contraint_type,table_name from user_constraints

表级别
添加约束
altertable emp2
add constraint emp2_empo_pk primary key(empno)

删除约束
alter table emp2
drop constraint emp2_empo_pk;

列级别省略

3.其他操作
主要包括截断、删除和修改读写状态
a.截断表:删除表内容,保留表结构;DDL
truncate table emp2;

b.删除表;DDL
drop table emp2;

c.修改读写状态;
(1)启用表的只读状态,便于备份和导出表;
alter table emp2 read only;
(2)启用表的读写状态便于表的正常使用;
alter table emp2 read write;

 

posted @ 2017-10-20 11:09  惠山脚下小学僧  阅读(190)  评论(0)    收藏  举报