【DB】Oracle学习笔记(4)

 

常用对象

创建表 

       create table stu    

    (    

    id number(6),    

    name varchar2(20) constraint stu_name_mm not null,    

    sex number(1),    

    age number(3),    

    sdate date,    

    grade number(2) default 1,    

    class number(4),    

    email varchar2(50) unique    

    );    

非空约束

       create table stu    

    (    

    id number(6),    

    name varchar2(20) constraint stu_name_mm not null,    

    sex number(1),    

    age number(3),    

    sdate date,    

    grade number(2) default 1,    

    class number(4),    

    email varchar2(50)    

    );    

唯一约束

       create table stu    

    (    

    id number(6),    

    name varchar2(20) constraint stu_name_mm not null,    

    sex number(1),    

    age number(3),    

    sdate date,    

    grade number(2) default 1,    

    class number(4),    

    email varchar2(50) unique    

    );    

组合唯一约束 

       create table stu    

    (    

    id number(6),    

    name varchar2(20) constraint stu_name_mm not null,    

    sex number(1),    

    age number(3),    

    sdate date,    

    grade number(2) default 1,    

    class number(4),    

    email varchar2(50),    

    constraint stu_name_email_uni unique(email, name)    

    );    

主键约束  

       create table stu    

    (    

    id number(6),    

    name varchar2(20) constraint stu_name_mm not null,    

    sex number(1),    

    age number(3),    

    sdate date,    

    grade number(2) default 1,    

    class number(4),    

    email varchar2(50),    

    constraint stu_id_pk primary key (id),    

    constraint stu_name_email_uni unique(email, name)    

    );    

外键约束

       create table stu    

    (    

    id number(6),    

    name varchar2(20) constraint stu_name_mm not null,    

    sex number(1),    

    age number(3),    

    sdate date,    

    grade number(2) default 1,    

    class number(4) references class(id),    

    email varchar2(50),    

    constraint stu_class_fk foreign key (class) references class(id),    

    constraint stu_id_pk primary key (id),    

    constraint stu_name_email_uni unique(email, name)    

    );    

        

    create table class     

    (    

    id number(4) primary key,    

    name varchar2(20) not null   

    );    

添加字段

    alter table stu add(addr varchar2(29));    

删除字段

    alter table stu drop (addr);    

修改字段 

    alter table  stu modify (addr varchar2(50));//更改后的长度必须要能容纳原先的数据    

删除约束条件  

    alter table stu drop constraint  约束名    

修改约束条件  

alter table  stu add constraint stu_class_fk foreign key (class) references class (id);

数据字典表

     desc dictionary;    

     //数据字典表共有两个字段 table_name comments    

     //table_name主要存放数据字典表的名字    

     //comments主要是对这张数据字典表的描述    

查看当前用户的表、视图和约束

    select table_name from user_tables;    

    select view_name from user_views;    

select constraint_name from user-constraints;  

索引

建立索引后读起来更快了,但修改起来更慢了。索引也需要占用空间,不要轻易建立索引。

主键约束和唯一约束自动生成索引。

106、-------------索引------------------    

    create index idx_stu_email on stu (email);// 在stu这张表的email字段上建立一个索引:idx_stu_email    

107、---------- 删除索引 ------------------    

    drop index index_stu_email;    

108、---------查看所有的索引----------------    

    select index_name from user_indexes;    

序列

    create sequence seq;//创建序列    

    select seq.nextval from dual;// 查看seq序列的下一个值    

drop sequence seq;//删除序列  

seq.nextval给表的id赋值:insert into TableName values (seq.nextval,‘XXX’,‘XXX’);

完整创建序列

CREATE SEQUENCE emp_sequence  

     INCREMENT BY 1   -- 每次加几个  

     START WITH 1     -- 从1开始计数  

     NOMAXVALUE       -- 不设置最大值  

     NOCYCLE          -- 一直累加,不循环  

     CACHE 10;  

修改序列

ALTER SEQUENCE emp_sequence  

     INCREMENT BY 10  

     MAXVALUE 10000  

     CYCLE     -- 到10000后从头开始  

     NOCACHE ;  

三范式

    第一范式:要有主键,列不可分    

    第二范式:不能存在部分依赖:当有多个字段联合起来作为主键的时候,不是主键的字段不能部分依赖于主键中的某个字段    

第三范式:不能存在传递依赖   

推荐一个淘宝旗下网站,每天9块9包邮还返利。现在登录还有9元支付宝红包送你哦!http://invite.etao.com/67121619402a047e.htm  

你可能感兴趣的:(oracle,学习)